使用之前需要自己下载jspSmartUpload.jar包 可以处理下载时中文乱码问题
包放置的位置:
把压缩包里面的jar拷贝到工程的lib下面即可
主要方法介绍
上传
// 新建一个SmartUpload对象
Java代码
1.
2.SmartUpload su = new SmartUpload();
3.
4.// 上传初始化
5.
6.su.initialize(pageContext);
7.
8.// 限制每个上传文件的最大长度。
9.
10.su.setMaxFileSize(10000);
11.
12.// 限制总上传数据的长度。
13.
14.su.setTotalMaxFileSize(20000);
15.
16.// 设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
17.
18.su.setAllowedFilesList("doc,txt");
19.
20.// 设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
21.
22.//jsp,htm,html扩展名的文件和没有扩展名的文件。
23.
24.su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
25.
26.// 上传文件
27.
28.su.upload();
29.
30.// 将上传文件全部保存到指定目录
31.
32.int count = su.save("/upload");
33.
34.下载
35.
36.// 新建一个SmartUpload对象
37.
38.SmartUpload su = new SmartUpload();
39.
40.// 初始化
41.
42.su.initialize(pageContext);
43.
44.// 设定contentDisposition为null以禁止浏览器自动打开文件,
45.
46.//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
47.
48.//doc时,浏览器将自动用word打开它。扩展名为pdf时,
49.
50.//浏览器将用acrobat打开。
51.
52.su.setContentDisposition(null);
53.
54.// 下载文件
55.
56.su.downloadFile("/upload/test.doc");
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>