`
不复记忆
  • 浏览: 157111 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类

jspsmart实现文件上传下载及jspSmartUpload.jar下载

    博客分类:
  • jsp
阅读更多

使用之前需要自己下载jspSmartUpload.jar包

把压缩包里面的jar拷贝到工程的lib下面即可

主要方法介绍

上传

// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload(); 
// 上传初始化
su.initialize(pageContext); 
// 限制每个上传文件的最大长度。
su.setMaxFileSize(10000); 
// 限制总上传数据的长度。
su.setTotalMaxFileSize(20000); 
// 设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
su.setAllowedFilesList("doc,txt");
// 设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
//jsp,htm,html扩展名的文件和没有扩展名的文件。
su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
// 上传文件
su.upload();
// 将上传文件全部保存到指定目录
int count = su.save("/upload");
 


下载
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 初始化
su.initialize(pageContext);
// 设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
//doc时,浏览器将自动用word打开它。扩展名为pdf时,
//浏览器将用acrobat打开。
su.setContentDisposition(null);
// 下载文件
su.downloadFile("/upload/test.doc");
 

**********************************************************************************************************************



应用实例:
用户只能上传图片格式的文件实例


uploadimage.jsp


<%@ page contentType="text/html;charset=gb2312" language="java" import="java.io.*,java.awt.Image,java.awt.image.*,com.sun.image.codec.jpeg.*,java.sql.*,com.jspsmart.upload.*,java.util.*"%>
<%
SmartUpload mySmartUpload =new SmartUpload();
long file_size_max=4000000;
String fileName2="",ext="",testvar="";
String url="upload/"; //应保证在根目录中有此目录的存在(也就是说需要自己建立相应的文件夹)
//初始化
mySmartUpload.initialize(pageContext);
//只允许上载此类文件
try {
mySmartUpload.setAllowedFilesList("jpg,gif");//此处的文件格式可以根据需要自己修改
//上载文件 
mySmartUpload.upload();
} catch (Exception e){
%>
<SCRIPT language=javascript>
alert("只允许上传.jpg和.gif类型图片文件");
window.location='upload.htm';
</script>
<%
}
try{ 

com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);
if (myFile.isMissing()){%>
<SCRIPT language=javascript>
alert("请先选择要上传的文件");
window.location='upload.htm';
</script>
<%}
else{
//String myFileName=myFile.getFileName(); //取得上载的文件的文件名
ext= myFile.getFileExt(); //取得后缀名
int file_size=myFile.getSize(); //取得文件的大小 
String saveurl="";
if(file_size<file_size_max){
//更改文件名,取得当前上传时间的毫秒数值
Calendar calendar = Calendar.getInstance();
String filename = String.valueOf(calendar.getTimeInMillis()); 
saveurl=application.getRealPath("/")+url;
saveurl+=filename+"."+ext; //保存路径
myFile.saveAs(saveurl,SmartUpload.SAVE_PHYSICAL);
out.print(saveurl);

String ret = "parent.HtmlEdit.focus();";
ret += "var range = parent.HtmlEdit.document.selection.createRange();" ;
ret += "range.pasteHTML('<img src=\"" + request.getContextPath() + "/upload/" + filename + "." + ext + "\">');" ;
ret += "alert('上传成功!');";
ret += "window.location='upload.htm';";
out.print("<script language=javascript>" + ret + "</script>");

}
}
}catch (Exception e){ 
out.print(e.toString()); 
}
%> 
 




upload.htm
<html>
<head>
<title>请选择上传的图片</title>
</head> 
<body>
<table border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="45" align="center" valign="middle"><form action="uploadimage.jsp" method="post" enctype="multipart/form-data" name="form1">
<input type="file" name="file">
<input type="submit" name="Submit" value="上传">
</form></td>
</tr>
</table>
</body>
</html>
 

 

以上代码可以粘贴直接使用,局部的地方可以根据自己的需要进行修改

分享到:
评论
14 楼 liufengming 2012-04-26  
垃圾,根本就运行不了
13 楼 paladin00 2011-12-12  
为什么mySmartUpload.getRequest().getParameter("name");取得的额外表单域是乱码呢,jsp是使用utf-8.
12 楼 娃哈哈13168 2011-12-03  
非常感谢,找了很久了!你让我看到了光明!
11 楼 matraxa 2011-10-23  
Thanks Very Much!
10 楼 liuqimeng1 2011-09-02  
你上传的这个包,非常好,我用了下,很好用啊,谢了,楼主
9 楼 yzp531 2011-04-12  
myFile.saveAs("/upload/" +myFile.getFileName(),SmartUpload.SAVE_VIRTUAL);
结果保存为:
F:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Myupload_1\upload
我想把图片保存我的项目下边的upload文件中(项目名为Myupload_1),我试了好多都不行,请楼主指教!谢谢!
8 楼 Elvin_99 2011-03-24  
Elvin_99 写道
如果我想传所有的文件的话,该怎么改?

明白了!
7 楼 Elvin_99 2011-03-24  
如果我想传所有的文件的话,该怎么改?
6 楼 qinglintan 2010-10-09  
试一下FileUpload也一样,
5 楼 不复记忆 2009-07-16  
chasonsp 写道
非常感谢,尤其是那个jar,太珍贵了~~

呵呵,都是从网上找的,你们不用这么客气的
4 楼 chasonsp 2009-06-18  
非常感谢,尤其是那个jar,太珍贵了~~
3 楼 不复记忆 2009-06-16  
轩风之逸 写道

谢谢你的资源刚好需要收下了哦~~呵呵


客气了,放上来就是大家分享的
2 楼 轩风之逸 2009-06-15  
谢谢你的资源刚好需要收下了哦~~呵呵
1 楼 oyprunner 2009-03-02  
非常感谢 !

相关推荐

Global site tag (gtag.js) - Google Analytics