jsp怎么实现浏览本地图片选中上传到页面上,并且保存在数据库,从数据库读取也可以显示在页面上

jsp怎么实现浏览本地图片选中上传到页面上,并且保存在数据库,从数据库读取也可以显示在页面上,第1张

数据库不能保存图像,但是能保存图像名,我给你个思路,用户上传后使用uid方法将重命名,然后将新的名称存在数据库,保存在一个已知路径,然后页面加载只需要将src设置成"路径/数据库查询结果。(建议通过id查询)"

用jspSmartUpload组件来实现,用jsp+servlet在Servlet里实现的代码:

PrintWriter out = responsegetWriter();

int count = 0;

// 实例化上传控件对象

SmartUpload su = new SmartUpload();

// 初始化 *** 作

suinitialize(config, request, response);

// 设置上传文件最大字节数

susetTotalMaxFileSize(100000);

//

try {

//禁止上传指定扩展名的文件

susetDeniedFilesList("ext,bat,jsp");

} catch (SQLException e1) {

e1printStackTrace();

}

try {

// 上传文件到服务器

suupload();

File fileup = new File(requestgetRealPath("upload"));

if(!fileupexists()){

// 创建目录

fileupmkdir();

}

// 处理多个文件的上传

for(int i = 0;i < sugetFiles()getCount();i++){

comjspsmartuploadFile file = sugetFiles()getFile(i);

if(!fileisMissing()){ // 如果文件有效

// 保存文件到指定上传目录

filesaveAs("/upload/new"+filegetFileExt(), suSAVE_VIRTUAL);

count = susave("/upload");

}

}

} catch (SmartUploadException e) {

eprintStackTrace();

}

outprintln(count +"file(s) uploaded");

如果你对这个上传组件不了解,最好是先去查查用法。。。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela

jsp - 上传到数据库中 方法如下: 第一步:建立数据库

create table test_img(id number(4),name varchar(20),img long raw);

第二步:(NewImghtml)

<html><head><title>添加</title></head>

<body>

添加<br>

<form method="post" action="insertNewsjsp">

图像ID:<input name="id" size="10">

<br>

选择图像:<input type="file" name="image">

<br>

<input type="submit" value="上传" name="submit" size="25">

<input type="reset" value="清除" name="clear" size="25">

<br>

</form>

</body></html>

第三步:插入数据库(InsertImgjsp)

<%@ page language="java"%>

<%@ page contentType="text/html;charset=gb2312" %>

<%@ page import="javautil" %>

<%@ page import="javasql"%>

<%@ page import="javatext"%>

<%@ page import="javaio"%>

<%

ClassforName("commicrosoftjdbcsqlserverSQLServerDriver"); //commicrosoftjdbcsqlserverSQLserveDriver

String url="jdbc:oracle:thin:@lubin:1521:b2bdb"; //jdbc:microsoft:sqlserver://127001:1433; jdbc:microsoftsqlserver://127001:1433

Connection con=DriverManagergetConnection(url,"demo","demo");

//插入数据库

String sql="insert into test_img values (,,)";

//获取传值ID

String id=requestgetParameter("id");

//获取image的路径

String kk=requestgetParameter("image");

//转换成file格式

File filename=new File(kk);

//将文件的长度读出,并转换成Long型

long l1=filenamelength();

int l2=(int)l1;

//以流的格式赋值

FileInputStream fis=new FileInputStream(filename);

PreparedStatement ps =conprepareStatement(sql);

pssetString(1,id);

pssetString(2,filenamegetName());

pssetBinaryStream(3,fis,l2);

//pssetBinaryStream(3,fis,fisavailable());

psexecuteUpdate();

//psexecute();

psclose();

fisclose();

outprintln("ok!!!");

%>

第四步:显示(ShowImgjsp)

<%@ page language="java" import="javasql"%>

<%@ page import="javaio"%>

<%@ page contentType="text/html;charset=gb2312"%>

<%

ClassforName("oraclejdbcdriverOracleDriver");

String url="jdbc:oracle:thin:@lubin:1521:b2bdb";

String image_id = (String) requestgetParameter("ID");

Connection con=DriverManagergetConnection(url,"demo","demo");

PreparedStatement sql=conprepareStatement("select from test_img WHERE id = " + image_id);

ResultSet rs = sqlexecuteQuery();

rsnext();

//输入img字段内容到in

InputStream in = rsgetBinaryStream("img");

//以下可是任何处理,比如向页面输出:

responsereset();

responsesetContentType("image/jpeg");

byte[] b = new byte[1024];

int len;

while((len=inread(b)) >0)

responsegetOutputStream()write(b,0,len);

inclose();

rsclose();

%>

以上就是关于jsp怎么实现浏览本地图片选中上传到页面上,并且保存在数据库,从数据库读取也可以显示在页面上全部的内容,包括:jsp怎么实现浏览本地图片选中上传到页面上,并且保存在数据库,从数据库读取也可以显示在页面上、用jsp、java实现上传图片,保存到数据库,从数据库中提取,显示到页面 这四步 我想问第一步,怎么上传图片、用jsp+servlet+javabean上传图片到数据库中,不是存路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10060434.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存