1.文件上传操作,解决上传中文名的问题。
<%
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
su.initialize(pageContext);
// 设定上传限制
// 1.限制每个上传文件的最大长度。
su.setMaxFileSize(2000000000);
// 2.限制总上传数据的长度。
su.setTotalMaxFileSize(2000000000);
// 3.设定允许上传的文件(通过扩展名限制),仅允许doc,xls文件。
su.setAllowedFilesList("doc,xls,txt,exe,rar");
// 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
su.setDeniedFilesList("bat,jsp,htm,html");
SimpleDateFormat sdf1 = null;
SimpleDateFormat sdf2 = null;
String upfileName = null;
String upfileContent =null;
String [] str = new String[10];
String fileName = null;
// 上传文件
su.upload();
// su.getFiles()获得上传的文件数
for (int i = 0; i < su.getFiles().getCount(); i++) {
// 拿到每个文件对象
// 获得两个时间对象
// sdf1 年月日
// sdf2 时分秒毫秒
Date date = new Date();
sdf1 = new SimpleDateFormat("yyyyMMdd");
sdf2 = new SimpleDateFormat("HHmmssSSSS");
upfileName = sdf1.format(date);
upfileContent = sdf2.format(date);
java.io.File upfile = new File("E://"+upfileName);
com.jspsmart.upload.File file = su.getFiles().getFile(i);
fileName = file.getFileName();
str[i]=fileName;
// 判断该文件是否存在如不存在继续下次循环。
if (file.isMissing()) {
continue;
}
// 查看文件夹是否存在如何不存在将创建该文件夹
if (upfile.exists() == false) {
upfile.mkdir();
}
//文件转码
fileName = new String(fileName.getBytes("gbk"),"UTF-8");
// 文件保存
file.saveAs("E://"+upfileName+"/"+upfileContent+fileName);
Thread.sleep(100);
}
%>
2. 文件下载操作,解决中文问题。
<%@ page contentType="text/html;charset=UTF-8"
import="com.jspsmart.upload.*" %><%
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 初始化
su.initialize(pageContext);
// 设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
//doc时,浏览器将自动用word打开它。扩展名为pdf时,
//浏览器将用acrobat打开。
su.setContentDisposition(null);
// 下载文件
//su.downloadFile("F://test.xls");
String url = "F://sk.xls";
url = new String(url.getBytes("ISO-8859-1"),"UTF-8");
// 下载文件 改名
su.downloadFile(url,null,java.net.URLEncoder.encode("大家好.xls","UTF-8"));
%>