JSP上传图片 偶是新手,想做个上传图片的功能,求代码,详细点,最好有注释,谢谢各位大哥呀 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LZ啊~~~发帖之前最好自己先google或者是百度一下~~~这些东西网上有很多的!http://wenku.baidu.com/view/80dc0a1ffc4ffe473368abbd.html PreparedStatement preStmt=con.prepareStatement( "insert into file_fujian(file_id,note,filename,filesize) values(?,EMPTY_BLOB(),?,?) "); for(int i=0;i <fileUpload.getFiles().getCount();i++) { int f_id=0; if(fileUpload.getFiles().getFile(i).isMissing()) { continue; } if(fileUpload.getFiles().getFile(i).getSize() <=0) { continue; } preStmt.setInt(1,info_id); preStmt.setString(2,fileUpload.getFiles().getFile(i).getFileName()); preStmt.setInt(3,fileUpload.getFiles().getFile(i).getSize()); preStmt.execute(); Statement tempStmt=con.createStatement(); ResultSet temprs=tempStmt.executeQuery( "select fujian_id.CURRVAL from dual "); if(temprs.next()) { f_id=temprs.getInt(1); } byte binBytes[] = new byte[fileUpload.getFiles().getFile(i).getSize()]; for (int j=0;j <fileUpload.getFiles().getFile(i).getSize();j++) { binBytes[j] = fileUpload.getFiles().getFile(i).getBinaryData(j); } temprs=tempStmt.executeQuery( "select * from file_fujian where id= "+f_id); if (temprs.next()) { BLOB blob = ((OracleResultSet) temprs).getBLOB( "note "); OutputStream ost = blob.getBinaryOutputStream(); ost.write(binBytes); ost.flush(); ost.close(); } temprs.close(); } jsp代码:<input type="file" name="file" id="imgurl" style="border:1px solid #7F9DB9;"/>js验证上传的是否是图片:var imgurlValue = $('#imgurl').val(); // 图片上传if ((imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "jpg") &&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "jpeg") &&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "png") &&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "bmp") &&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "gif") &&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "JPG") &&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "JPEG") &&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "PNG") &&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "BMP") &&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "GIF")) { //alert("系统不允许上传此种类型文件!"); $('#errorMsg').html("系统不允许上传此种类型文件"); return false; }后台Struts2接收参数并上传文件到服务器上,代码如下:private File file;private String fileContentType;// 文件后缀private String fileFileName;// 文件名// 省略setter和getter方法//首先将文件写入一个输入流里面 InputStream is = new FileInputStream(file); //其次得到你要上传文件到那个目录 String root = ServletActionContext.getRequest().getRealPath("/upload/images"); DateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); String formatDate = format.format(new Date()); int random = new Random().nextInt(10000); int position = fileFileName.indexOf("."); String extension = fileFileName.substring(position) ; String newFileName = formatDate + random + extension ; //再次创建一个File来保存你的文件 File destFile = new File(root,newFileName); //然后就是一个输出流将文件写入到File中。 OutputStream os = new FileOutputStream(destFile); //以下就是写入文件的方式 byte buffer[] = new byte[2048]; int length = 0; while((length = is.read(buffer))>0){ os.write(buffer,0,length); } //最后一定要关闭流 is.close(); os.close(); //新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); SmartRequest req = su.getRequest(); //上传初始化 su.initialize(getServletConfig(), request, response); //上传文件 su.upload(); //执行保存图片方法 返回上传成功的个数 int count =su.save("/images"); 如何把数据库里面的表显示到网页表格中 关于对象=null的问题 求一套网页的css java web工程中怎么调用.net写的webservice服务,用的开发工具是MyEclipse4.11 Jsp错误问题! eclipse集成jbosside后,经常在点击一些xml文件时候出现怪事情!!! 今天面试问了数据库设计问题 请教一个sql语句的写法,求大神指教。谢谢,在线等 【求助】java使用axis调用c#的webservice,传值始终为null javaweb如何实现图片上传,数据库只存储路径,服务器存储图片 遇到一些问题,求解 使用JDBC连接MySQL失败
http://wenku.baidu.com/view/80dc0a1ffc4ffe473368abbd.html
for(int i=0;i <fileUpload.getFiles().getCount();i++)
{
int f_id=0; if(fileUpload.getFiles().getFile(i).isMissing())
{
continue;
} if(fileUpload.getFiles().getFile(i).getSize() <=0)
{
continue;
}
preStmt.setInt(1,info_id);
preStmt.setString(2,fileUpload.getFiles().getFile(i).getFileName());
preStmt.setInt(3,fileUpload.getFiles().getFile(i).getSize());
preStmt.execute();
Statement tempStmt=con.createStatement();
ResultSet temprs=tempStmt.executeQuery( "select fujian_id.CURRVAL from dual ");
if(temprs.next())
{
f_id=temprs.getInt(1);
} byte binBytes[] = new byte[fileUpload.getFiles().getFile(i).getSize()];
for (int j=0;j <fileUpload.getFiles().getFile(i).getSize();j++)
{
binBytes[j] = fileUpload.getFiles().getFile(i).getBinaryData(j);
} temprs=tempStmt.executeQuery( "select * from file_fujian where id= "+f_id);
if (temprs.next())
{
BLOB blob = ((OracleResultSet) temprs).getBLOB( "note ");
OutputStream ost = blob.getBinaryOutputStream();
ost.write(binBytes);
ost.flush();
ost.close();
}
temprs.close();
}
<input type="file" name="file" id="imgurl" style="border:1px solid #7F9DB9;"/>
js验证上传的是否是图片:
var imgurlValue = $('#imgurl').val(); // 图片上传
if ((imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "jpg")
&&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "jpeg")
&&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "png")
&&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "bmp")
&&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "gif")
&&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "JPG")
&&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "JPEG")
&&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "PNG")
&&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "BMP")
&&(imgurlValue.substring(imgurlValue.lastIndexOf('.')+1) != "GIF")) {
//alert("系统不允许上传此种类型文件!");
$('#errorMsg').html("系统不允许上传此种类型文件");
return false;
}
后台Struts2接收参数并上传文件到服务器上,代码如下:private File file;
private String fileContentType;// 文件后缀
private String fileFileName;// 文件名// 省略setter和getter方法
//首先将文件写入一个输入流里面
InputStream is = new FileInputStream(file);
//其次得到你要上传文件到那个目录
String root = ServletActionContext.getRequest().getRealPath("/upload/images");
DateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
String formatDate = format.format(new Date());
int random = new Random().nextInt(10000);
int position = fileFileName.indexOf(".");
String extension = fileFileName.substring(position) ;
String newFileName = formatDate + random + extension ;
//再次创建一个File来保存你的文件
File destFile = new File(root,newFileName);
//然后就是一个输出流将文件写入到File中。
OutputStream os = new FileOutputStream(destFile);
//以下就是写入文件的方式
byte buffer[] = new byte[2048];
int length = 0;
while((length = is.read(buffer))>0){
os.write(buffer,0,length);
}
//最后一定要关闭流
is.close();
os.close();
SmartUpload su = new SmartUpload();
SmartRequest req = su.getRequest();
//上传初始化
su.initialize(getServletConfig(), request, response);
//上传文件
su.upload();
//执行保存图片方法 返回上传成功的个数
int count =su.save("/images");