求一段smartupload上传图片的代码,不需要保存到数据库,但是想在jsp页面选中文件夹图片后,立马可以显示

选择图片的jsp页面的form

<form action="doUploadImage.jsp" encType=multipart/form-data method=post > 
本地选择: 
<input type="file" name="selPicture" 
style="width: 330px; height: 23px; font-size: 16px"> 
<input type="submit" name="upload" id="upload" value="上传" 
style="width: 70px; height: 25px"> 
</form> 
接收页面


<%@ page language="java" import="java.util.*,com.jspsmart.upload.*,java.io.*" 
pageEncoding="GBK"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
   
    
    <title>My JSP 'doUploadImage.jsp' starting page</title>
    

  </head>
  
  <body>
 <% 
request.setCharacterEncoding("GBK"); 
long size = 5 * 1024 * 1024;//允许上传最大值为5MB 
String fileType = "jpg,gif,JPG";//允许上传文件类型 
String imgName = null;//图片名称 
byte[] data = null;//数据 
String filePath = "";//文件路径 

//得到服务器目录webroot下的ImageFiles目录的完整路径 
String path = super.getServletContext().getRealPath("/Image"); 

System.out.println(path);

SmartUpload su = new SmartUpload(); 
//初始化 
su.initialize(pageContext); 
su.setMaxFileSize(size); 
su.setAllowedFilesList(fileType); 
su.setCharSet("GBK");
//上载文件 
su.upload(); 
System.out.println(su.getSize());
su.getRequest();
//循环取得所有上载的文件 
Files files = su.getFiles(); 
if (files != null) { 
//如果文件路径不存在则生成路径 
java.io.File fileDir = new java.io.File(path); 
System.out.println("存在");
if (!fileDir.exists()) { 
fileDir.mkdirs(); 
System.out.println("不存在");
} 

System.out.println(files.getCount());
//取出文件 
for (int i = 0; i < files.getCount(); i++)
 { 
 com.jspsmart.upload.File file = files.getFile(i);
 if (file.isMissing()) continue; 
 if ("selPicture".equals(file.getFieldName())) { 
 String type = file.getFilePathName(); 
 type = type.substring(type.lastIndexOf(".")); 
 imgName = UUID.randomUUID().toString();//生成uuid作为图片的名称 
 imgName += type; 
 filePath = path + "/" + imgName; 

 //保存到指定文件 
 file.saveAs(filePath); 

 //读取文件 
 data = readFile(filePath); 
 break; 
 } 
} 
} 

if (data == null) { 
out.print("没有图片"); 
} else { 
out.print("图片上传成功"); 
} 
%> 
<%!byte[] readFile(String filePath) { 
ByteArrayOutputStream bos = null; 
try { 
FileInputStream fs = new FileInputStream(filePath); 
bos = new ByteArrayOutputStream(5 * 1024 * 1024); 
byte[] b = new byte[1024]; 
int len; 
while ((len = fs.read(b)) != -1) { 
bos.write(b, 0, len); 
} 
fs.close(); 
} catch (FileNotFoundException e) { 
e.printStackTrace(); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
if (bos == null) { 
return null; 
} else { 
return bos.toByteArray(); 
} 
} 
%> 
<%=request.getParameter("name") %>
  </body>
</html>

有问题q我   379726806


后面data那一段时测试的  用的时候删除掉    这是我写的一个测试小工程  在项目里面用的时候是把接收图片放在servlet中的 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值