
数据库不能保存图像,但是能保存图像名,我给你个思路,用户上传后使用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上传图片到数据库中,不是存路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)