最近做项目,遇到文件的上传下载,开始的时候是没有接触过的,后来在网上搜到jspsmartupload组件,觉得挺好用的,虽然不能上传大文件,但是符合项目需求,如果哪位亲想要上传大于10M的文件,建议使用commons-fileupload,网上的说那个对于上传大文件有更好的支持。
现在就这个组件的具体使用分享一下,我是个新手,代码比较粗糙,只是用于演示怎么使用该组件,大神可以忽略。
首先下载该组件,JSPSmartUpload,这个jspsmartupload是别人改编后传给我的,很是谢谢,主要是解决了下载中文名称文件时的名称乱码问题。
将组件引入到项目中去,右键单击项目名称,选择build path,然后选择add externel archives,将jspsmartupload组件引入项目中。
然后是编写代码,
下面的是上传页面的主题代码:
<body>
<%
SmartUpload su = new SmartUpload();
su.initialize(pageContext); //初始化
su.upload(); //上传
//将全部上传文件保存到指定目录下,并返回保存的文件个数。这个要保证服务器端有该文件夹,应在tomcat的webapps里找到该项目,将文件夹新建,即为web根目录
int count = su.save("/upload");
out.println(count+"个文件上传成功!<br>");
for (int i=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.File file = su.getFiles().getFile(i);
if (file.isMissing()) continue; //这个方法用于判断用户是否选择了文件,也即对应的表单项是否有值。
out.println("<TABLE BORDER=1>");
out.println("<TR><TD>表单项名(FieldName)</TD><TD>"+ file.getFieldName() + "</TD></TR>");
out.println("<TR><TD>文件长度(Size)</TD><TD>" +file.getSize() + "</TD></TR>");
out.println("<TR><TD>文件名(FileName)</TD><TD>"+ file.getFileName() + "</TD></TR>");
out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"+ file.getFileExt() + "</TD></TR>");
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"+ file.getFilePathName() + "</TD></TR>");
out.println("</TABLE><BR>");
}
%>
</body>
下载文件的主要代码:
<%@ page contentType="text/html;charset=gb2312" import="com.jspsmart.upload.*" %>
<%
SmartUpload su=new SmartUpload();
su.initialize(pageContext);
su.setContentDisposition(null);
su.downloadFile("/upload/下载文件.doc");
%>
总而言之,jspsmartupload组件是方便易用的,可以满足小项目的上传下载需求,分享此文章,与大家共享。