1、使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。让球
2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。
3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。
4、下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。
smartupload使用方法

如果想让Tomcat服务器的所有Web应用程序都能用它,必须做如下工作:
1.进入命令行状态,将目录切换到Tomcat的webapps/jspsmartupload/WEB-INF目录下。
2.运行JAR打包命令:jarcvfjspSmartUpload.jarcom,也可以打开资源管理器,切换到当前目录,用WinZip将com目录下的所有文件压缩成jspSmartUpload.zip,然后将jspSmartUpload.zip换名为jspSmartUpload.jar文件即可。
3.将jspSmartUpload.jar拷贝到Tomcat的shared/lib目录下。
上传相关代码
uploadFile.jsp
<%@pagecontentType="text/html;charset=GB2312"%>
<formmethod="post"action="doUpload.jsp"enctype="multipart/form-data">
<tablewidth="315"border="0">
<tr>
<tdwidth="309"align="center"><inputtype="file"name="file1"size="30"></td>
</tr>
<tr>
<tdalign="center"><inputtype="file"name="file2"size="30"></td>
<tr>
<tdalign="center"><inputtype="submit"name="Submit"value="上传"></td>
</tr>
</table>
</form>
doUpload.jsp
<%@pagecontentType="text/html;charset=gbk"
import="java.util.*,com.jspsmart.upload.*"%>
<html>
<head>
<title>文件上传处理页面</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gbk">
</head>
<body>
<%
//新建一个SmartUpload对象
SmartUploadsu=newSmartUpload();
//上传初始化
su.initialize(pageContext);
//设定上传限制
//1.限制每个上传文件的最大长度。
//su.setMaxFileSize(10000);
//2.限制总上传数据的长度。
//su.setTotalMaxFileSize(20000);
//3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
//su.setAllowedFilesList("doc,txt");
//4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有
//扩展名的文件。
//su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
//上传文件
su.upload();
//将上传文件全部保存到指定目录,需要先在在Web应用的根目录下,创建一个upload目录
intcount=su.save("/upload");
out.println(count+"个文件上传成功!<br>");
//利用Request对象获取参数之值
out.println("TEST="+su.getRequest().getParameter("TEST")
+"<BR><BR>");
//逐一提取上传文件信息,同时可保存文件。
for(inti=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.Filefile=su.getFiles().getFile(i);
//若文件不存在则继续
if(file.isMissing())continue;
//显示当前文件信息
out.println("<TABLEBORDER=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>");
//将文件另存
//file.saveAs("/upload/"+myFile.getFileName());
//另存到以WEB应用程序的根目录为文件根目录的目录下
//file.saveAs("/upload/"+myFile.getFileName(),su.SAVE_VIRTUAL);
//另存到操作系统的根目录为文件根目录的目录下
//file.saveAs("c:\temp\"+myFile.getFileName(),su.SAVE_PHYSICAL);
}
%>
</body>
</html>
下载相关代码
download.jsp
<%@pagecontentType="text/html;charset=gb2312"%>
<html>
<head>
<title>下载</title>
</head>
<body>
<ahref="do_download.jsp">点击下载</a>
</body>
</html>
do_download.jsp
<%@pagecontentType="text/html;charset=gb2312"
import="com.jspsmart.upload.*"%>
<%
//新建一个SmartUpload对象
SmartUploadsu=newSmartUpload();
//初始化
su.initialize(pageContext);
//设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为doc时,浏览器将自动用word打开它。
//扩展名为pdf时,浏览器将用acrobat打开。
su.setContentDisposition(null);
//下载文件,保证Web应用下的upload目录下有测试文档.doc文件。
su.downloadFile("/upload/测试文档.doc");
%>
注意:jspSmartUpload编写下载文件代码时,若下载的文件名中有汉字,则浏览器在提示另存的文件名时,显示的是一堆乱码。为了给jspSmartUpload组件增加下载中文文件的支持,对返回给浏览器的另存文件名进行UTF-8编码后,浏览器便能正确显示中文名字了。在SmartUpload.java文件中,增加的方法如下:
publicstaticStringtoUtfString(Strings){
StringBuffersb=newStringBuffer();
for(inti=0;i<s.length();i++){
charc=s.charAt(i);
if(c>=0&&c<=255){
sb.append(c);
}else
{
byte[]b;
try{
b=Character.toString(c).getBytes("utf-8");
}catch(Exceptionex){
System.out.println(ex);
b=newbyte[0];
}
for(intj=0;j<b.length;j++){
intk=b[j];
if(k<0)k+=256;
sb.append("%"+Integer.toHexString(k).toUpperCase());
}
}
}
returnsb.toString();
}
将文件名转换为UTF-8形式的编码形式。UTF-8编码对英文未作任何处理,对中文则需要转换为%XX的形式。toUtf8String方法中,直接利用Java语言提供的编码转换方法获得汉字字符的UTF-8编码,之后将其转换为%XX的形式。
修改getFileName()方法如下,使其调用toUftString()方法
privateStringgetFileName(Strings){
inti=0;
Strings1=toUtfString(s);
i=s1.lastIndexOf('/');
if(i!=-1){
returns1.substring(i+1,s1.length());
}
i=s1.lastIndexOf('\');
if(i!=-1){
returns1.substring(i+1,s1.length());
}else{
returns1;
}
}
jspsmartupload.jar是一款针对jsp开发的上传下载组件,现在已经完美支持中文名字文件的上传下载工作。该插件使用很简单,能全程控制上传,还能对文件大小、类型等等方面做出限制,轻松过滤掉不符合要求的文件。需要的朋友下载试试吧!
方法一:(之前在页面直接跳转上传时能够解决问题,异步提交上传图片就不能正常了)
1.解决中文乱码:
【1】:首先上传页面和接收页面都必须制定编码格式为GBK;
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
【2】:在上传页面要response.setCharacterEncoding("GBK");
【3】:在接收页面要request.setCharacterEncoding("GBK");
【4】:注意上传时表单要指定编码为:enctype="multipart/form-data"
【5】:注意上传时表单要指定方法为:method="post"
方法二:(异步提交表单能正常解决)
【1】上传页面:(对参数做一次encodeURI)js
//对表单中的中文区域值得获取并进行转码
varname= parent.window.$("#tabs_name").val();
vardirection= parent.window.$("#tabs_direction").val();
parent.window.$("#tabs_name").val(encodeURI(name));
parent.window.$("#tabs_direction").val(encodeURI(direction));
parent.window.$('#subject_modify').submit(); //提交表单
【2】接收参数页面(对参数做一次URLDecoder)
Stringname=smart.getRequest().getParameter("name");
name=URLDecoder.decode(name,"utf-8");
3d大中小走势 澳门下注 买球从哪里买 开心果六合彩 11选5方向展开内容
迅雷会员分享工具-鸿易迅雷会员账号分享器V2.4绿色版
智慧长春app下载-智慧长春软件3.0.4 安卓手机版
猫推日记app下载-猫推日记app1.4.14手机版
Precious Stones Saga(珍贵的石头传奇手游)2.24安卓版
车旦生活下载-成都车辆违章快速查询软件(车旦生活)2.3.7 车主版
2017搞笑中秋国庆双节祝福动态图片高清动图版
节奏盒子sprunki番茄酱模组游戏下载-节奏盒子sprunki番茄酱模组1.0.0 最新版
启神之魔乱怒潮1.01下载-启神之魔乱怒潮1.01正式版【附攻略】
乱世四国手游-乱世四国官方版1.0安卓版
易语言反汇编工具-易语言反调试优化工具(E-Guard)0.2 绿色免费版
Flash Your Phone官方下载-Flash Your Phone手机版1.0.1 中文安卓版
联盛UT165量产工具下载-联盛UT165量产工具合集PC版3.2.4.0最新版
侦探杰姬神秘案件下载-侦探杰姬1神秘案件(Detective Jackie)1.1.0 最新版
艾泽拉斯的远征官下载-艾泽拉斯的远征官游戏0.9.9 安卓最新版
幼儿园周计划表格模板-幼儿园一周活动计划表(可参考内容)doc格式【word版】
手机幻灯片制作器下载-手机幻灯片制作器app100 安卓最新版
台词提词宝app下载-台词提词宝app1.0.0 手机版
反编译dll工具下载-dll反编译工具中文版(Reflector)2017最新免费版
家庭教师Family0.1攻略下载-家庭教师Family0.1修复版附指令密码
星语进制转换(可转换编码和进制)1.5 中文绿色版
TITAN SLAYER游戏下载-泰坦杀手TITAN SLAYER免安装硬盘版
武汉直聘app苹果版下载-武汉直聘app1.5.2 官方最新版
Microsoft SQL Server 绿色版(GSQL)
无双飞将bt版下载-无双飞将变态版7.0 安卓版
儿童小汽车游戏大全免费-儿童汽车游戏5.95.211116 官方版
2017抢票神器哪个好-2017抢票神器1.1.0 官方最新版
8.2/1,025.7M
一年一度的春运又到了,每年春运都是一票难求呀!春运抢票是一场硬战,打不打的赢,可是关乎着能不能回家过年的命运,2017春运火车票60天的预售期已经开始了,由于时...
8.9/584.6M
五行师内测版是一款非常好玩的卡牌游戏,玩家需要利用自己的卡组击败对手,还能各种类型的卡牌,喜欢的小伙伴快来下载吧!游戏介绍:《五行师》是一款集换式卡牌(TCG)...
武林豪侠传九游版-武林豪侠传手游九游版2.9.0 安卓九游版
7.7/337.1M
武林豪侠传手游九游版是一款角色扮演类手游,游戏以武侠世界为背景。在游戏中玩家将扮演一位初入江湖的小白,通过完成新手任务以及主线任务,通过不断的提升自身战斗力成为...
9.3/397.6M
新境艺校app是新境艺术学校官方打造的手机客户端,为学生提供便利的美术艺考培训学习服务,支持在线家校互动,远程直播学习,数字化的教学方式,海量的在线课程。新境艺...
PING软件下载-PING企业协同办公平台0.1.1 ios手机版
7.5/1,258.5M
PING企业协同办公平台是一款办公神器,这个软件可以在线沟通,云数据储藏相关资料,可以一键通知各种事情,通过通讯录可以导入重要联系人等等功能!企业办公云app!...
7.8/1,801.0M
私犇旅行是一款以旅行为主题的租车服务平台,专为广大司机用户开发打造,用户想要自驾游或是租车可以通过本平台进行租借,司机也可以通过本平台获得订单,提供收入。软件介...
蓝月亮科学洗衣app-蓝月亮至尊洗衣(洗衣神器)2.15.7 安卓免费版
9.0/315.4M
为了帮助广大蓝月亮洗涤用品的用户能够更加科学的进行洗衣,蓝月亮推出了这款蓝月亮至尊洗衣app,通过蓝月亮科学洗衣app可以便捷的查询各种洗衣、清洁方法和蓝月亮产...
呼和浩特论坛下载-99街(呼和浩特论坛)1.5.11 安卓版
7.9/1,057.0M
99街为用户提供最新的网络新闻,是服务于老百姓的网络互动社区平台,全方位服务于老百姓,提供您所知道的一些事情的真相和重大的新闻线索。关于99街99街成立于200...
8.5/1,991.6M
戳屏主公手游是一款经典的三国卡牌游戏,q版的游戏画面,经典的回合制玩法,玩家将在三国乱世中召集自己的兵马,排兵布阵,率领将士征战沙场,不同的系统玩法等你挑战!戳...
8.9/746.9M
作为一款微店神器,可以快速制作自己的海报设置在特定位置。推店让你再也不担心不知道如何经营店铺了。精准的营销必须有精准的数据,在这里可以设置您的店铺Logo、门店...
bestv中国沪剧下载安装-BesTV中国沪剧8.0.2304.3 安卓版
8.1/341.6M
bestv中国沪剧是一款好用的播放器软件,在这里大家能看到很多经典的沪剧资源,全部都是免费的,而且画质超清,看起来非常享受,播放起来也不卡,感兴趣的朋友们快来u...
恐龙岛生存考验手游下载-恐龙岛生存考验全新版189.1.10.3018 安卓版
9.3/1,190.1M
恐龙岛生存考验是一款异世界恐龙冒险游戏,超大的3D高清地图,炫酷的武器装备和角色人物,在恐龙世界展开奇幻冒险。建造房屋,狩猎生存,未知探险,这样的恐龙岛游戏的确...
战国无双4-2武器存档-战国无双4-2武器修改器1.1 免费最新版
7.6/1,188.5M
《战国无双4-2》里面的武器其实想要升级总是非常的困难,如果你想要看到效果,就只能借助战国无双4-2武器修改器,毕竟也是款最新推出的武器马匹ce修改脚本。可以让...
道歉模拟器手机版下载-道歉谢罪模拟器(超级土下座)1.0 最新版本
7.6/426.0M
《超级土下座(SuperSorry)》又名《道歉模拟器》和之前很火的《找个班上》有点类似,都是根据动不动就直接下跪道歉,但是其实用处不大,又有点心酸的背景创造的...
航海王启航2和之国篇最新版下载-航海王启航2和之国篇25.0新服版
9.0/883.4M
航海王启航2和之国篇为中国大陆首款ONEPIECE官方授权的手机游戏,由DeNA中国与万代南梦宫娱乐集团共同研发打造。游戏用心还原动画原作剧情,打造原汁原味的航...
9.4/795.1M
爱奇艺云游戏是一款云游戏平台,可以直接在这款平台上进行玩游戏不用下载,节约用户的时间,可以体验到最新的游戏玩法,给大家不一样的游戏体验感,喜欢玩游戏的可以去尝试...
premiere pro cs3注册机下载-adobe premiere cs3注册机最新专业版【附使用教程】
9.6/1,496.2M
想要不花钱也能够永久使用adobepremierecs3这款软件么,东坡下载推荐的这款adobepremierecs3注册机可以直接帮助用户快速的生成adobe...
植物大战僵尸繁琐版下载安装-植物大战僵尸繁琐版1.0.0 最新版
7.7/1,211.5M
植物大战僵尸繁琐版也是该超级IP游戏的又一个特色版本,所以在该游戏中玩家将体验到诸多别样精彩的游戏玩法和内容哦。所以游戏加入了全新的植物和技能,提供了更多的战术...
7.7/1,456.4M
字体秀秀是现在智能手机上不可以缺少的一款手机字体更换以及制作的工具,是很多的喜欢最新最潮的朋友最需要的一款字体更换工具,需要的朋友就赶快来下载使用吧!字体秀秀介...
8.0/165.9M
海岛争霸是一款非常好玩的手机游戏,这款游戏中将塔防,策略,养成,冒险等多种玩法完美的融合到一起,并且这款游戏中有超多的玩家陪你一起玩。游戏介绍上百家媒体和数十万...
9.2/1,630.0M
纷玩岛app是一款好用的演出购票软件,所有演出场次时间一目了然,对于不同的演出都划分了栏目,演唱会、话剧、音乐节,嘉年华等等,方便用户们快速的去购票,这里的演出...
热成像相机APP下载免费版-热成像相机1.3.007 最新版
8.0/1,856.9M
热成像相机APP是一款比较与众不同的拍照摄影软件,软件能带给用户独特的玩机体验。通过热成像相机,可以呈现出经过红外线热成像以后的效果,非常的炫酷。用户可以在AP...
8.9/667.5M
MindZipDev推出的一款无尽的街机游戏-Daji,游戏开始时的实心小圆点就是你,外面包围了几层虚线圆圈,虚线圆圈会保护你,但是当有物体击中你,你就会少一个...
9.7/1,597.5M
一款金融知识培训平台,普益商学app以家庭金融资产配置需求为出发点,“普益财富+普益标准”联合打造FAP认证体系,助力理财师职业跃升华丽蜕变。普益商学app介绍...
动漫之家社区版下载-动漫之家社区版app官方2.8.2 最新版
7.7/471.4M
动漫之家社区是一款动漫资讯类的APP,每天都大量动漫相关的资讯帖,以及功能强大的优化阅读,给你带来不一样的体验,高清大图阅读模式给你带来不一样的视觉享受!动漫之...