JspSmartUpload上传、下载组件,该组件有以下几个特点:
//创建SmartUpload对象
SmartUpload su=new SmartUpload();
//初始化SmartUpload对象
su.initialize(this.getServletConfig(), req, resp);
su.setMaxFileSize(5*1024*1024);
su.setAllowedFilesList("jpg");
try {
su.upload();
Date date=new Date();
SimpleDateFormat sm=new SimpleDateFormat("yyyyMMddhhmmssSS");
String name=sm.format(date);
String ext=su.getFiles().getFile(0).getFileExt();
//取出登录的用户名
Account a=(Account)this.getServletContext().getAttribute("account");
String userName=a.getAccount_name();
File file=new File("d://images//"+userName+"//");
file.mkdir();
su.getFiles().getFile(0).saveAs("d://images//"+userName+"//"+name+"."+ext);
out.print("<script type='text/javascript'>alert('上传成功');</script>");
} catch (SmartUploadException e) {
out.print("<script type='text/javascript'>alert('上传失败,在是试试');Window.history.back();</script>");
}
使用步骤
1. 下载smartUpload.jar包将jia包放到lib中
2 创建SmartUpload对象
SmartUpload sm=new SmartUpload()
3. 初始化SmartUpload对象
sm.initalize();
4 设置上传文件的大小限制
sm.setMaxFileSize(5*1024*1025);
5. 设置允许上传文件的类型
Sm.setAllowedFilesList(“jpg,gif”);
6.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
//jsp,htm,html扩展名的文件和没有扩展名的文件。
su.setDeniedFilesList(“exe,bat,jsp,htm,html,,”);
7. 上传
sm.upload();
5. 保存文件
int count sm.save(/images/);/注意必须手动创建文件夹
如果上传的文件名称相同怎么办?
1. 使用当前日期时间重命名上传的文件
2. 保存文件
sm.getFiles().getfile(0).savaAs(“”+name);
注意:上传不成功的查看步骤
第一步:查看表单上传的类型和上传方式是不是
enctype=”multipart/form-data” method=”post”
第二步:查看页面编码格式是不是GBK
第三步:查看保存的文件路径 (特别注意文件夹有没有创建)
下载相对简单
//对smartUpload对象进行初始化
SmartUpload su=new SmartUpload();
su.initialize(this.getServletConfig(), request, response);
String name=request.getParameter("path");
try {
// 设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
//doc时,浏览器将自动用word打开它。扩展名为pdf时,
//浏览器将用acrobat打开。
su.setContentDisposition(null);
//使用downloadFile方法实现文件下载
su.downloadFile("d://images//ww//"+name);
} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}