1、使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。好库铃音app下载-好库铃音1.0.0最新手机版
2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。
3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。
4、下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。
方法一:(之前在页面直接跳转上传时能够解决问题,异步提交上传图片就不能正常了)
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");
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;
}
}
t乐彩走势图 乐鱼官方娱乐 大名县张九游会 众博有赢钱的吗 众博审核专员展开内容
独酷设计APP下载安卓版-独酷设计0.91 官方最新版
我要钓锦鲤游戏-我要钓锦鲤红包版1.0.0 安卓赚金版
走出去归途24小时果盘版2.2 安卓版
文件夹隐藏工具-Hide Folders XP(文件或文件夹隐藏工具)2.8 破解版(多国语言版)
二战坦克指挥官正版-二战坦克指挥官手游2020.1.0 最新版
中杰安保app3.4.0 安卓版
决斗之城竞技版下载-决斗之城竞技版1.7.7安卓版
一笔地牢汉化版-一笔地牢Hitofude Dungeon最新版1.1安卓版
德国W家app下载-德国W家7.6.13 安卓手机版
修仙之旅游戏下载-修仙之旅文字游戏1.2.0 最新版
2016广州地铁线路图汇总-2016年广州地铁线路图合集台风专版
自律自强手机软件下载-自律自强app2.1.1 安卓最新版
小鱼便签记事本1.0.0.2 官方安装版
ai白日梦手机版下载-白日梦ai创作平台1.1.0 安卓版
国培在职软件下载-国培在职app1.3.2安卓版
8.5/1,549.3M
itch游戏平台提供大量免费独立游戏资源,包含多种类型游戏和开发者发布的试玩demo,用户可自由体验海量游戏内容,同时平台还提供实用游戏工具,帮助用户更好地享受...
8.4/1,940.2M
斩杀传奇是一款全新推出的热血战斗冒险手游。游戏以经典传奇游戏为原型打造,你可以使用强大的三职业加入战斗,随时随地切入pk。红名爆装,血战沙城,再战沙巴克之巅,给...
周刊少年JUMP苹果版下载-周刊少年Jump我的收藏手游苹果版1.0.0 官网最新版
8.0/1,005.1M
周刊少年Jump我的收藏手游发布了苹果官方的版本,同时也是日服最新的预测的版本,有需要的用户现在就可以来免费的下载试试,不过只限苹果手机用户!周刊少年Jump我...
北境叛乱手机版下载-北境叛乱Nine Realms Revoltv11 完整版
8.5/104.8M
一个故事驱动的卡牌建造冒险,以北欧世界和美妙的音乐为背景。在这款游戏中构建卡组,踏上拯救九领域的史诗旅途,小品级卡牌对抗游戏。游戏玩法简单有趣,就是根据不同的卡...
8.1/234.2M
平板支撑是最有效的锻炼腹横肌的方法,它能锻炼你的核心肌群,让你瘦得更健康,背部线条更迷人,挑战Plank是帮助你训练平板支撑的手机应用软件,它能精确的陪伴你每一...
10.0/1,737.7M
易干洗app是一款非常给力的手机应用软件,用户通过易干洗app能够直接获取周边各种干洗服务信息,有需要的朋友可以下载试试。易干洗app介绍易番为客户提供全方位的...
水木清华bbs社区手机客户端下载-水木清华(清华大学的官方BBS)4.9 官网ios版
7.8/1,463.9M
水木社区app是清华大学的官方BBS手机客户端,为网友们提供一个交流平台,涵盖学术、技术、生活等各个领域,欢迎来下载!水木社区app介绍水木社区-清华大学的官方...
9.9/1,172.8M
暴走段子app是一款休闲段子社区,界面简洁操作简单,自带海量的段子、笑话和视频图片,界面操作也很简单,有很多网络用语可以自己选择分享操作。软件特色1、界面简洁操...
剑与魔法1.0.0作弊破解版下载-剑与魔法1.0.0破解版【自定攻击/生命/魔法/防御+HKE作弊+刷物品+P闪无CD】
7.8/52.1M
剑与魔法1.0.0是由银克为大家带来的最新魔兽防守地图游戏,这里小编为大家提供的是最新破解版,主要破解了定制攻击、防御、魔法以及作弊和p闪无cd等特效,帮助大家...
帝国雄师0.1折渠道服下载-帝国雄师0.1折0.5.7.0.7 变态版
7.6/493.6M
攻城掠地,一统帝国。作为一款西方魔幻题材的战争策略手游,《帝国雄师》构建了以中世纪欧洲城堡文明为基底的架空世界。玩家将扮演乱世中的一方领主,在神族、精灵族、兽族...
9.2/419.0M
这是由腾讯推出的小学英语智能辅导app,能为用户提供许多专业的功能,辅导孩子全面学习英语,包括口语、单词和课本,全面提高孩子的英语成绩,腾讯英语君是孩子学习英语...
8.1/1,763.0M
寿司华容道(PushSushi),一款令人愉快且充满挑战的游戏,游戏画面简洁有趣,共有50多种美味的寿司,还可设置每日礼物,每天登录游戏就可获得礼品。寿司华容道...
植物大战僵尸universe手机版最新版下载-植物大战僵尸universe正式版1.0.0 最新版
7.8/891.8M
植物大战僵尸universe版本与经典原版在玩法和内容上区别相差不大,只是植物大战僵尸universe正式版中加入了埃及和秦始皇陵,在全新的地图场景中继续放置植...
9.7/225.7M
诚善智能云是一款全新推出的智能云平台。这里包含了海量的功能可以使用,软件通过连接净水设备就可以查看水质的安全状况。操作简单,使用方便,无卡就可以进行消费,还支持...
9.0/1,198.9M
32款书法笔触偏旁部首打包下载(PSD格式),书法笔触一般指书法艺术笔触,写出的字体类似马克笔的效果,楷书和隶书、行书又不同,篆书楷书还不同。书法笔触有什么作用...
9.9/522.1M
危化圈app是一个为危化品运输行业服务的平台,这里拥有求职招聘、产品报价等各种服务,还有行业资讯圈子,让你了解行业信息!软件介绍危化品信息发布、驾驶员及押运员求...
10.0/1,880.4M
开拓九游版是一款可以放置挂机的游戏,一款没有负担的游戏,随时可以玩,随时可以放下去,很适合只是想玩游戏但是工作很忙的人群。开拓九游版游戏玩法:1、有非常多好看的...
9.3/124.5M
右键文件加密工具(EncryptThat)是一款功能强大的文件加密工具,使用者能够通过本软件直接通过右键对文件进行快捷加密,支持各种格式的文件,快速的对文件进行...
酷力地摊app下载-酷力地摊app最新app1.0.0 安卓版
8.6/1,577.1M
酷力地摊APP是一款帮助摆地摊的商户批发商品货源的软件,可以直接搜索想要的商品,让批发采购更加实惠,中国地摊货源通过在上面给所有的用户提供更多的适合摆地摊的商品...
Pome提问箱官方APP下载-Pome提问箱1.2.0 最新版
9.8/1,344.4M
Pome提问箱深受广大用户尤其是年轻群体的喜爱。因为它不仅是一款简单的社交应用,更是一个承载着人们好奇心、真心话与情感交流的平台。而Pome的独特之处,在于其匿...
不能再吃了橘猫ios下载-不能再吃了猫咪手游1.0 手机最新版
9.7/1,752.0M
每逢过节胖三斤,都说十个猫咪9个胖,小编这里带来的不能再吃了猫咪手游是一款为了你减肥的小游戏,你的目的是阻挡猫咪吃到食物,获得高分,你能不能也管住自己的嘴呢?不...
ClipMate (剪贴板增强)V7.3.14 Build 223 多国语言特别版
9.1/354.0M
非常出色的Windows剪贴板增强程序,自动保存你从多个程序中剪切/复制的对象,你可以以后把这些对象粘贴到任何应用程中。还可以截图.是我每次必装的软件,功能非常...
7.8/1,458.0M
御风猫app为网友们带来了一个兴趣社交圈子,大家可以在这里结交有共同爱好的彭玉,可以发布活动,一起参与!软件介绍御风猫为年轻人量身定制的娱乐社交软件,找同好,查...
9.6/393.4M
水滑板城市英雄2手游(WalterFall2)又是一款以超级英雄为题材的游戏,玩家在将成为城市的守卫者,与各方黑势力和邪恶的敌人展开战斗,动作特效都做的相当不错...
9.6/1,774.3M
百姓就业圈是一款深入民生的能够帮大家找到靠谱好工作的app,平台里面的企业都是专业靠谱的,您感兴趣的工作直接在线了解,然后再约面试,做好对比,这样可以为您节约不...