
类型: 旅游服务 版本: V2.0
大小: 589.1 时间: 2025-11-07





jspsmartupload.jar是一款针对jsp开发的上传下载组件,现在已经完美支持中文名字文件的上传下载工作。该插件使用很简单,能全程控制上传,还能对文件大小、类型等等方面做出限制,轻松过滤掉不符合要求的文件。需要的朋友下载试试吧!
1、使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。喵星人app下载-喵星人(特殊字体生成)2.0.7 安卓免费版【装逼神器】
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");
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;
}
}
诉讼费速算器软件下载-诉讼费速算系统3.012免费电脑版
1,478.6M
诉讼费速算系统可以准确的算出诉讼费和代理费各种费用,能够针对不同的案件选择所需的标准来计算。根据自己了解的信息输入辅导性的计算数据,十分方便,快来下载使用吧基本...
儿童寓言故事下载-宝宝寓言故事app2.2.2 安卓手机版
251.5M
经典寓言故事大全,软件中整理了大量寓言故事,成语故事以及童话故事,故事情节吸引宝宝的注意,使孩子听的入迷,从而学习到更多的知识。宝宝寓言故事app介绍寓言故事是...
战舰风云1.0.3 安卓最新版
39.4M
战舰风云是一款首款4D二战题材策略战争手游大作。游戏高度还原了二战的世界观,玩家将操控各种战舰进行二战海上世界战斗。游戏中的百种舰船全方位视角也将首次出现在海战...
三星动态壁纸下载-三星动态壁纸apks20动态壁纸apk
1,635.4M
一款来三星S20+内置超清动态壁纸。它能够在桌面上显示一些不断旋转的绚丽优雅花朵。活力四射的花卉转盘,在旋转中调配出各种色彩。您可以从设定选项里选择花朵旳种类、...
土豆兄弟国际服下载-土豆兄弟国际服(Brotato)1.3.610 最新版
1,109.3M
土豆兄弟国际服使一款割草roguelike类游戏,该游戏很好的将射击、冒险、探索等游戏元素融合一体,一部游戏作品就能体验到丰富的游戏乐趣,玩家需要选择自己喜欢的...
三思后行游戏下载-三思后行安卓版1.07 免费版
1,886.7M
三思后行游戏是一款画风非常清爽的益智类型的解密游戏,游戏中需要你仔细的观察图案,通过策略的技巧手段通过关卡!让大家体验到经典有趣的玩法!三思后行游戏怎么玩三思后...
黑暗光年传奇手游下载-黑暗光年游戏v1.1.7 最新版
958.0M
黑暗光年传奇手游全新版本在东坡可以直接下载成功,这是很多平台力推的一款传奇神作,萌新进去就是十倍爆率,直接满神装刷图拽得很,恭喜激活满级vip,免费会员直升百级...
北京市公共自行车app官网-北京市公共自行车app2.1.5 安卓版
1,432.5M
今年共享单车入驻了很多大城市,北京市政府的惠民工程北京市公共自行车app现已全面上架,不用押金,首小时0元非常便捷方便,政府打造更放心,而且站点比第三方的共享单...
地铁跑酷地图修改器下载-地铁跑酷地图修改器1.2 最新版
965.9M
地铁跑酷地图修改器是一款能随意修改地图切换地图的版本,这里为大家准备了完整的地图源码,玩家想怎么替换就怎么替换,使用起来方便又快乐,感兴趣的小伙伴快来东坡下载吧...
呆猫神途游戏下载-呆猫神途手游0.20200430 官方版
1,503.7M
《呆猫神途》2002年我本沉默最火爆的版本,有着非常经典的游戏画面和操作方式,绝对是一代老玩家的青春回忆,秉着坚持公正、稳定、信誉为本发展,打造经典神途,树立形...
大工云盘app下载-大工云盘安卓版1.0 官方手机版
1,702.4M
大工云盘app是一款面向大连理工云盘校内师生打造的云盘存储软件,提供了数据上传,同步备份,群组共享的功能,需要朋友就来下载吧。大工云盘app功能介绍自动同步上传...
航海王启航25.0官网最新版
957.7M
航海类的手机游戏在现在还是有不少的朋友是想玩的,特别是喜欢玩这类游戏的朋友,就可以来这里下载这款游戏试试下面的这款不错的航海游戏吧!航海王启航游戏官方介绍《航海...
一寸相思手游下载-一寸相思安卓版1.0 官方版
826.1M
一寸相思是一款超级好玩的战斗冒险rpg手游大作。游戏有着精美的画面风格,为玩家展现了一个绚丽多彩的仙侠世界。多样化的游戏玩法,多种游戏模式。玩家可以自由选择职业...
电话铃声大全100首下载-电话铃声大全100首手机版1.7.9 免费版
1,086.5M
电话铃声app包含了超多免费电话铃声,可以通过手机直接下载各种铃声到手机,而且铃声是完全免费的,超多不同种类的铃声,支持在线听铃声,选择你喜欢的铃声可以自由下载...
真正的圣诞老人射箭圣诞节手游1.0手机ios版
75.1M
这是一款超级好玩的手机射箭游戏,真正的圣诞老人射箭圣诞节手游拥有卡通风格的场景,玩家需要滑动屏幕来瞄准方向击中绳子,每一关的难度都有所不同,玩起来还是非常带感的...
无尽银河2020下载-无尽银河2021最新版1.5.0.1496最新版
2025/10/29 08:24
公交联城app1.2.5 官方安卓版
2025/10/26 11:06
龙之谷2传说手游0.2.22 安卓最新版
2025/11/01 06:39
云飞助手免费挂机挂下载-云飞助手app1.2.17安卓免费版
2025/10/21 05:37
文本框制作字幕最新版
2025/10/22 05:50
奇妙昆虫世界游戏下载-奇妙昆虫世界9.61.00.00 儿童版
2025/10/24 06:50
Bomb Transporter Sim 2019 - 3d City Truck Game(真实核弹模拟手游)1.0安卓版
2025/10/24 11:09
番茄闪轻app下载-番茄闪轻app1.3.8 安卓版
2025/10/29 14:01
生存大作战官方正版下载-生存大作战官方最新版1.0 安卓版
2025/11/03 13:17
steam云挂卡app下载-橘子steam云挂卡1.0.0 免费版
2025/10/26 19:23
超食在app下载-超食在1.0.9最新版
2025/10/23 10:23
真实出租车模拟器下载-真实出租车模拟汉化版0.0.1 中文版
2025/10/21 20:09
越野卡车驾驶乐园游戏下载-越野卡车驾驶乐园游戏2.2 手机最新版
2025/11/01 05:24
椰城市民云官方app下载 -椰城市民云最新版3.2.2 安卓版
2025/11/04 21:05
足球圈app下载-足球圈官方版5.2 专业版
2025/10/28 07:01
足球圈app下载-足球圈官方版5.2 专业版
2025/10/28 07:01更新
足球圈官方版是专业的足球赛事资讯平台,在这里汇聚了上千万的足球爱好者,用户之间可以自由探讨最新足球赛事,平台还为用户们提供最为精彩的足球赛事直播,完全满足广大球...
支持 ( 100 ) 盖楼(回复)
支持 ( 5 ) 盖楼(回复)
支持 ( 167 ) 盖楼(回复)
支持 ( 116 ) 盖楼(回复)
支持 ( 108 ) 盖楼(回复)
支持 ( 159 ) 盖楼(回复)
支持 ( 102 ) 盖楼(回复)
支持 ( 66 ) 盖楼(回复)
支持 ( 42 ) 盖楼(回复)
支持 ( 30 ) 盖楼(回复)
支持 ( 125 ) 盖楼(回复)
支持 ( 32 ) 盖楼(回复)
支持 ( 111 ) 盖楼(回复)
支持 ( 154 ) 盖楼(回复)
支持 ( 50 ) 盖楼(回复)
支持 ( 182 ) 盖楼(回复)
支持 ( 122 ) 盖楼(回复)
支持 ( 14 ) 盖楼(回复)
支持 ( 13 ) 盖楼(回复)
支持 ( 58 ) 盖楼(回复)