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");
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;
}
}
展开内容
8.1/394.3M
守卫剑阁三界战役1.1破解版是一款最新出来的地图系列,非常好玩,给大家提供最新的破解图下载,修改了许多内容,有秒复活+飞飞专用脚本+开局送装+破解装备限制+称号...
7.7/1,810.3M
飞速文件安全同步软件可以实现平台无关的数据备份。在实现普通本机对远端的数据备份方式外,还实现了远端对远端的备份方式,而且在备份过程中不在服务器上缓冲数据,保证了...
7.7/773.8M
奥特曼主题游戏,还原迪迦、赛罗,诺亚奥等童年经典熟悉的奥特曼英雄形象,保护城市的安全,与不同的巨人怪兽进行战斗,超爽的奥特曼格斗等你开启,喜欢的朋友快来东坡下载...
9.0/1,565.0M
梦之轨迹是一款非常火的防守型魔兽地图。地图更新了最新的版本,增加了一些玩法,在这里为大家带来了梦之轨迹7.4.1正式版,附有攻略和隐藏英雄密码,欢迎来下载体验!...
9.1/881.0M
电气原理图绘制软件是一款专门为专业用电人员打造的绘图应用软件,该软件采用java开发的电气原理图进行绘制图片,主要格式包含了SVG、PNG、SVG、PNG、PG...
8.9/776.9M
导航秘书作为一款私人助理app,可以在线语音导航。东坡小编推荐,为你讲解和规划旅游路线。导航秘书软件介绍你的私人旅行助理。能景点内定位导游、规划游玩路线、专业语...
7.5/791.6M
回收废物利用的一个绿色软件,云伏源app在指定的地点进行回收,会有对应的积分奖励给到您,利用您积累的积分是可以得到很多超值价格的商品哦!云伏源app介绍云伏源A...
9.9/1,612.1M
死神改编的手游在目前可以说是有很多的种的,但是很多的玩家都是想玩一款可以完美的还原的手游,现在就建议你试试下面BLEACH境界苹果版,全新版本正式的上线了!BL...
9.0/1,053.7M
武侠迷的福音来了!复古掌门人是一款国风类的武侠手游,采用了放置经营的玩法,收弟子,招客卿,建门派,建立属于你的江湖!在江湖恩怨中享受掠杀的快感吧!复古掌门人手游...
10.0/1,213.3M
末路求生十一项修改器是款最新的同名游戏修改工具,大家可以通过他在里面获得无限体力、无需装弹、无限闪光灯等十一项功能,最大程度的减少游戏的难度,从而更加方便的进行...
9.0/1,276.5M
冲顶鸭王者宝箱赚钱平台是一款具有超高难度答题玩法规划的休闲小游戏,让你能够领会最为欢欣的闯关之旅,答题办法能够给游戏之中的玩家带来精彩感受,更有不断翻开的各种猜...
7.8/1,950.3M
亿诺关机王是一款免费好用的电脑关机定时软件,通过这款软件可设置关机、重启、等各种电脑操作,简单好用,欢迎来下载! 亿诺关机王介绍亿诺关机王是一款电脑自...
8.1/461.8M
相信大家手中都有IPhone5se,但是却不知道怎么样下载更多的应用?其实只需要借助IPhone5se手机助手,让你不越狱,也能够下载更多的正版应用,特别是还支...
9.9/767.1M
奇妙小马俱乐部是一款适合宝宝玩益智游戏,宝宝可以在这款游戏里面锻炼大脑,游戏都是非常可爱的卡通角色,能够有效的提升宝宝对游戏的兴趣,能够对宝宝的智力开发和提升做...
9.0/1,661.9M
办公楼租聘合同是专为各大企业租聘办公写字楼打造的租聘合同,内容详细且全面,能够很好保障出租人与承租人之间的合法权益,如果你也对这方面有所需求的话,那就快来这里看...
8.4/137.9M
蛮荒传奇雷电版是指的带有雷电角标的专属版本,相较于其他传统版本,可以获得更多新手礼包,和强化道具等。经典的攻沙玩法,多指触控的攻城模式,全新构造的内容体验,真正...
8.6/567.4M
dwgtrueconvert2018是欧特克官方打造的一款dwg文件转换工具,最新版的功能已纳入到AutodeskDWGTrueview2018中,支持转换DW...
7.6/1,440.6M
三八妇女节ppt模板粉色浪漫女人,一份唯美的节日ppt模板,为各位广大女性而设计的温馨粉色,满足女人的浪漫小情节,非常的漂亮,虽然只有短短的7页,但是道出了女人...
8.1/690.2M
vmwareworkstation10中文版是一款比较出名的虚拟机,支持20个虚拟网络而且USB3流支持更快的文件复制,使用起来非常方便,感兴趣就来下载吧。官方...
7.5/1,839.0M
这里为您提供的脚本编辑器下载是一个快速编写vbs脚本的工具。微风脚本热特点是使用模块化编程,您只要用鼠标点一点,就可以添加各种代码,这是传统编程工具不能及之处。...
8.2/458.3M
这是一款非常真实的交友平台,小鹿兜兜交友主打真实交友体验,直接注册登录可以在这里筛选你的另一半,一键查找附近的人,帮助你脱离单身!软件介绍小鹿兜兜交友是一款专属...
9.2/530.5M
中国式首富游戏带你回到九十年代,通过你现代的经营头脑白手起家成为首富,完成逆袭,成为首富不仅要头脑,运气也很重要,游戏玩法多样,能够参加各种投资任务。中国式首富...
7.5/847.1M
小镇合并游戏,一款非常新颖的游戏,玩家在点点点的同时还有记得将建筑进行合成,随之升级建筑和开拓土地,接着就是耐心点点点和等待。小镇合并游戏特色作为整个小镇的镇长...
9.0/391.8M
征途2是一款由巨人网络原班人马打造的手游,复刻经典的玩法,游戏采用手游时代全新制作技术制成。风云再起,战火重燃,国战战场烽火依旧,兄弟并肩嗨战不休,经典职业和技...
9.7/1,089.9M
有一些干部退休之后需要进行登记管理,小编为你推荐科羽老干部信息管理系统,一款专业化、系统化的管理软件,支持老干部信息,证件,时间查询、职务设置等等,所有信息都能...