SmartUpload介绍:
SmartUpload组件
专门用于实现文件上传及下载的免费组件
SmartUpload组件特点
使用简单:编写少量代码,完成上传下载功能
能够控制上传内容
能够控制上传文件的大小、类型
缺点:目前已停止更新服务
要使用SmartUpload组件要先下载smartupload.jar包,这里是百度网盘链接地址:
http://pan.baidu.com/share/link?shareid=64640&uk=909074031
文件下载完毕后要复制到项目的WEB-INF\lib目录下才能使用
使用时需要将form的enctype属性设置multipart/form-data才有用,并且提交方式必须是post
<form enctype="multipart/form-data" method="post">
.....
</form>
介绍下SmartUploa类的方法:
在接受smartUpload数据的页面顶部要导入:
<%@page import="com.jspsmart.upload.*;"%>
smartUpload的使用:
<%
SmartUpload su = new SmartUpload();
//初始化SmartUpload对象
su.initialize(pageContext);
com.jspsmart.upload.File file = null;
//使用上传组件下的请求对象来接收数据
com.jspsmart.upload.Request req = null;
String exceptionMsg = null;
int i = 0;
try {
//定义允许上传文件类型
su.setAllowedFilesList("gif,jpg,bmp,png");
//不允许上传文件类型
su.setDeniedFilesList("jsp,asp,php,aspx,html,htm,exe,bat");
//单个文件最大限制
su.setMaxFileSize(2*1024*1024);
su.setCharset("utf-8");
//执行上传
su.upload();
System.out.println("file:"+su.getFiles().getCount());
//得到单个上传文件的信息
file = su.getFiles().getFile(0);
String filename="";//声明图片的文件名称
//判断如果有上传文件,则进行文件上传操作
if(!file.isMissing()){
//设置文件在服务器的保存位置
String filepath = "upload\\";
//根据当前服务端的时间刻度+上传文件的后缀名创建新的文件名称
filename=(new Date()).getTime()+"."+file.getFileExt();
filepath += filename;
//文件另存为
file.setCharset("utf-8");
//保存文件
file.saveAs(filepath, SmartUpload.SAVE_VIRTUAL);
}
//获取上传组件的请求对象
req = su.getRequest();
.....