jspsmartupload.jar是一款针对jsp开发的上传下载组件,现在已经完美支持中文名字文件的上传下载工作。该插件使用很简单,能全程控制上传,还能对文件大小、类型等等方面做出限制,轻松过滤掉不符合要求的文件。需要的朋友下载试试吧!世界足球排名
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;
}
}
方法一:(之前在页面直接跳转上传时能够解决问题,异步提交上传图片就不能正常了)
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");
1、使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。
2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。
3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。
4、下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。
展开内容
7.5/1,765.9M
春天到了拍照不好看?完全不用担心,下载这款奇妙p图app能够一站式的解决用户所有的烦恼,完美帮助用户处理各种难题,各种强大功能快速帮助用户制作出超好看的图片,非...
7.9/905.1M
会议录音转文字软件其实就是录音啦软件,对于经常要做会议记录、开会的工作人员来说,可以抓住重点,把录音全部转换成为文字。会议录音转文字软件使用教程如何快速进行录音...
8.7/758.7M
糖糖圈app是一款专为1型糖尿病人打造的手机软件,它由爱宝惟生物科技有限公司开发,力争做您身边最强大的移动医护团队,教您“像胰腺一样思考”找到同城糖友,从此不再...
9.0/860.5M
山海经幻想录以山海神话异兽为题材,进入到梦想的山海世界中与各种山海神兽共同生存,收服孵化不同的山海神兽宠物,寻找猎物进行吞噬进化,一步步的成长,感受远古大陆带来...
7.5/1,922.3M
蓝月传世是一款非常好玩的手机游戏,这款游戏由传奇游戏改编,这款游戏中完美的还原了传奇游戏中的玩法与特色,同时这款游戏在原有的基础上还增添了新的玩法。喜欢传奇游戏...
8.2/562.3M
未来世界刺客游戏是一款画风可爱的卡通人物动作打斗游戏,玩家自行选择自己的人物,扮演一名刺客,完成一系列任务,提升自己的武力值和经验。在击退敌人后还会获得装备和武...
9.2/1,108.5M
一款专为宠物狗狗打造的一站式养成平台——萌窝宠物,这里有网络社交,经验交流,在线医疗,狗狗商城等特色服务。为你的狗狗打造最舒适的成长环境,以专业化的服务让用户满...
7.8/427.6M
这个应用主要用于官方公告、游戏情报发布、活动通知等,同时提供了一个便捷的途径让玩家们互相交流游戏心得、分享攻略和资源。在此平台上,玩家可以畅所欲言,讨论关于最终...
9.2/1,469.4M
散热器2(Radiator2)是一款风格有趣的游戏,游戏中玩家将控制大叔角色进行一系类任务,玩家可以体验到壮汉洗澡、开车、打屁屁等游戏内容,激情满满啊!小编为各...
9.9/1,546.5M
本游戏是一款针对天黑请闭眼(杀人游戏)爱好者量身定做,多人参与的、以语言描述推动的、较量口才和分析判断能力的策略类多人社交类桌面游戏。17天黑请闭眼游戏介绍17...
9.7/593.2M
对于喜欢到空间里面呆着的人来说,总是想要知道自己的访客信息,这时就可以选择红单QQ空间访客采集软件,让你快速的知道所有访客的信息,觉得不错都可以来此下载!红单Q...
9.0/623.5M
手机抢茅台app是一款非常实用的抢购工具,帮助你快速抢购各大平台的飞天茅台,抢到酒是赚到,许多人抢到茅台,转手一卖,直接赚上千的收益!使用说明1.要使用自动抢购...
7.9/99.3M
全国各地都开启的下雪模式,是不是可以打雪仗,堆雪人了!下雪了,上班的路上真的好冷,小伙伴们还是需要注意保暖哦!你那里下雪了吗?下雪了文字图片唯美说说早安,你那下...
8.3/1,657.1M
广工校园通app是一款广东工业大学的软件,提供最新的校园资讯,可以查询课表,考试成绩,兼职信息,还可以进行图书预约。广工校园通app1.全校的社团动态,并可以与...
8.4/259.0M
优讯是一款知识共享平台,这里有关于很多成功人士的演讲,让你学习到如何管理企业、如何自律又是如何获得成功的,还有更多的成功哲学等你来发现。软件介绍优讯APP是一款...
8.1/721.8M
易捷国际(原易捷海购)是中石化(深圳)电子商务有限公司旗下的跨境电商平台商城,app上拥有非常优质的跨境电商购物服务,app上的主要经营产品包括母婴用品、营养保...
8.6/1,738.3M
智慧云工app是云南工程职业学院官方智慧校园应用软件,给全校师生带来一站式综合性服务,帮助学生解决各种校园问题,创建美好校园生活。智慧云工app介绍智慧云工AP...
10.0/1,260.0M
木块拼图消除是一款消除题材的手游,玩家可以通过这款游戏来进行消除,玩法非常的多样,可以尝试不一样的游戏玩法,你需要把不同形状的方块放入棋盘中,最终将他们填满。有...
9.1/366.4M
锋采智能定时播放软件是一款多媒体定时播放系统,功能强大,可以对多种格式的音频和视频文件进行定时播放,非常适合学校、小型电视台电台使用。软件说明:可以定时播放多种...
9.5/618.0M
修天决2017最新版是一款仙侠系列游戏。游戏画面十分唯美,画质清晰,人物形象雕刻细腻。游戏拥有狂刀、葬花、剑侠、剑仙四个职业角色。玩家可以选择自己喜欢的角色进行...
8.6/145.4M
天天美剧app苹果版是高清美剧天堂影视字幕组的播放器。支持随时随地在线播放,为你推荐最适合你的口味的影片。为你带来真正的悦享品质。让你几分钟了解你要看的剧!天天...
8.9/366.9M
软件是功能非常强大的文件管理器,使用这个可以轻松对你的文件进行管理,自由的设定相关文档数值,这个版本是最新的破解版,打开即可使用补丁!Brcc2020破解版安装...
8.0/1,235.8M
花卉世界网app是一款花卉商城软件,这里汇集了海量花卉,用户可以随意的挑选自己喜欢的花卉,非常的便捷实惠!有需要的快来试试吧!花卉世界网官方介绍花卉世界网APP...
9.7/1,418.8M
荣耀先锋手游测试了这么久终于开启了公测,这是一款星际战争题材的手机冒险游戏,在游戏中我们会化身成为荣耀先锋,需要用自己的实力去守护地球的和平,游戏丰富的玩法备受...
8.7/668.4M
会员通电脑版是一款效率办公应用,会员通电脑版提供强大的功能,帮助商家更加便捷高效的管理会员和店铺,更好的服务于店铺会员,让管理变得更轻松,需要的朋友可以试试哦。...