jspsmartupload.jar是一款针对jsp开发的上传下载组件,现在已经完美支持中文名字文件的上传下载工作。该插件使用很简单,能全程控制上传,还能对文件大小、类型等等方面做出限制,轻松过滤掉不符合要求的文件。需要的朋友下载试试吧!p网提现
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;
}
}
方法一:(之前在页面直接跳转上传时能够解决问题,异步提交上传图片就不能正常了)
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");
展开内容
8.9/283.3M
拥有惊人的百倍爆率,选择不同的BOSS,成功击杀的玩家将会获得大量史诗级装备,穿戴装备即可立马提升战力,虐爆全服指日可待!给予玩家更加轻松愉悦的战斗体验,减少传...
8.0/488.7M
AutoCAD2016mac官方版,可以在苹果电脑MACOS平台上使用的二维和三维CAD设计、绘图、建模、建筑绘图和工程软件,使用AutoCAD设计和文档软件创...
8.6/1,891.8M
爱音乐制作的小伙伴都在这,本软件拥有简洁专业的编曲功能。你可以在定期更新的音色库中下载各种乐器及音色,包括古典乐器、民族乐器、电子乐器、鼓、钢琴、吉他、音频素材...
7.5/1,339.3M
GoogleChrome开发版(Dev)相当于内测版,bug会比较多,几天就会有更新,谷歌浏览器开发版,它相对于其他几个版本来说,它的区别在于它含有比较多的bu...
8.2/1,074.9M
eXeScope是一款exe文件修改工具,能够帮助有需要的网友修改exe程序的文件,这款软件界面简单,简单好用,欢迎来下载!exe文件修改器(eXeScope)...
10.0/287.5M
幼儿及学龄前儿童学习拼音的最大障碍是无法集中注意力,这款Flash幼儿拼音含丰富动画,每个声母及韵母均配上栩栩如生的图画,让幼儿在游戏,充满乐趣中学习,视觉动画...
8.8/1,652.8M
梦幻逍遥行是一款非常好玩的仙侠类手游,唯美的游戏背景,Q萌的人物角色,各种各样的仙侠故事等你来撰写,超多妖魔异兽任你收服,自由的修炼方法,还有跟多冒险游戏玩法等...
9.5/1,856.9M
小高记账app是一款非常专业的记账工具,适用于团队记账,一个团队可以建立一个项目记账,每个成员都可以在里面记账,每一笔都非常清晰,适合记录公费等!办公记账软件小...
9.1/1,212.7M
恒大交楼管理app是一款交楼管理移动工作平台,平台拥有丰富的功能,可以助力员工更好的交楼管理管控,这里需要注意的是用户必须是恒大的员工,拥有已经注册好的账号,不...
7.8/866.2M
大话骰是酒吧,夜场非常普遍的休闲游戏。是一款考验酒量,胆识,逻辑力,算术的游戏。每一位参加者有一个藏有五颗骰子的骰盅。网络上也有很多这款小游戏。本小游戏也就是这...
8.1/1,381.1M
玉有价APP是款专门为玉器爱好者打造的交易平台,能够在线交易购买到心爱之物,还可在线鉴别真假,学习到各种玉器的知识,共同探讨。玉有价软件说明1.新疆地区专业从业...
8.0/1,638.3M
我的女神4.9.1正式版是一款魔兽防守地图,这款地图支持8人同时游戏,我的女神4.9.1添加了新隐藏英雄日向雏田、剑圣、鸣人,修复了成长宝石不会掉落BUG,快来...
查看
8.2/49.9M
返利也是现在很多的网站都是在为吸引买家的一种手段,那么那个网站的返利是做的最好的了,赶快来使用下面的92返利网为你准备的爱省返利宝吧!爱省返利宝介绍爱省返利宝是...
7.8/1,405.3M
从零开始的校园生活游戏里面玩法丰富多样,充满了可玩性。在该游戏里能够收获更多的欢乐;变身高中生,在校园中进行闯荡,超多天马行空、不可思议的玩法等你来解锁。从零开...
9.9/476.7M
牙医管家诊所管理系统是一款中小型诊所使用的电脑软件,可以有效管理诊所中的各项工作,功能强大,非常实用,需要的朋友可以来下载!牙医管家诊所管理系统介绍为4万多的诊...
10.0/1,708.9M
狗书网txt小说阅读器,轻松愉快的无纸化阅读软件。可以根据个人需求调整字体大小、颜色和字休,是一个很人性化的txt小说阅读器。使用说明1、下载后打开exe文件,...
8.2/344.9M
旺旺商聊(原阿里旺旺商家版)是阿里巴巴集团为电商卖家、采购商及企业用户打造的专业商务沟通工具,专注于B2B(企业对企业)及B2C(企业对消费者)场景的在线交易沟...
9.2/1,504.0M
金盾软件保护器是一个绿色免费的程序加壳工具,支持exe、dll、ocx、cpl、scr等格式的文件进行高级加密,具有多种加密方式,可以随机生成加密密钥,为你的软...
8.2/1,674.6M
去到国外想吃口正宗的中国菜都很难,现在有了开饭了app就可以随时随地吃到家的味道了,它是一款为全球华人服务的吃饭软件,用户可利用此软件找到自己想吃的菜,支持多种...
10.0/631.1M
MoBu2是一款有趣的冒险游戏,创新的游戏机制,有丰富的游戏关卡,控制长臂大猩猩在森林里冒险,穿越可怕的丛林,创出自己的路。游戏特色-摆动MoBu通过5对不同的...
8.6/838.9M
这是一款非常好玩的聊天交友类型软件,很多用户都在关注,通过这个app你可以在线聊天交友,你可以认识更多小姐姐,一起语音开黑聊天,认识更多的朋友。甜音交友软件简介...
7.9/1,324.8M
妖姬OL福利满满,各种妹子任你挑选,揉捏、把玩、推倒,柔软触感一手掌握,美女三国策略游戏的经典之作,感兴趣就来下载吧。私服上线就送vip,美滋滋。妖姬OL私服福...
9.5/1,526.3M
超级弹丸论破2通关全解锁存档是小编为大家收集的百分百完美通关存档,解锁了全部的内容,让你完全掌握整个游戏,想怎么玩就怎么玩!需要的下载吧。超级弹丸论破2完美通关...
9.9/1,572.1M
优优调音软件是一款非常好用的手机调音软件,主要是模拟吉他的调音过程,让你的手机发出真实的吉他声音,适用于吉他初学者,通过软件可以更好的模拟调音效果!优优调音软件...