
类型: FPS 版本: V3.1
大小: 671.2 时间: 2025-11-09





jspsmartupload.jar是一款针对jsp开发的上传下载组件,现在已经完美支持中文名字文件的上传下载工作。该插件使用很简单,能全程控制上传,还能对文件大小、类型等等方面做出限制,轻松过滤掉不符合要求的文件。需要的朋友下载试试吧!
1、使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。健步圈官方正版app下载-健步圈app1.3.15 安卓版
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");
尖叫才能奔跑mustscream游戏下载-尖叫才能奔跑mustscream游戏(尖叫跑酷)3.0 最新版
1,855.7M
尖叫才能奔跑MustScream是一款第一人称恐怖动作游戏。游戏背景设定在一所因一系列不明原因死亡事件而被迫关闭的废弃医院。玩家扮演记者,踏入这座阴森之地,目的...
永恒之魂九游礼包版下载-永恒之魂九游版1.01.003uc服
1,209.4M
永恒之魂九游版是款全新魔幻的冒险游戏,游戏突破性引入自由交易系统,部分核心产品自由掉落,挂机赚钱,你将解开黑暗世界的面纱。永恒之魂九游版副本系统想要获得大量道具...
深空躲猫猫游戏下载-深空狼人杀躲猫猫1.2.1 安卓正版
623.4M
深空狼人杀躲猫猫是一款很有意思的躲猫猫手游。游戏有着新颖的大逃杀玩法,加入了各种有趣的特色元素。简单轻松的生存玩法,你需要存活到最后,节开谜团,究竟谁才是卧底。...
麦库记事下载-麦库记事本手机版4.2.0 官方最新版
932.2M
麦库记事本手机版国内最好的跨平台资料管理工具!任何手机、电脑、Pad间完美同步笔记、图片、文件。随时访问,数据永不丢失!麦库记事本手机版介绍作为一款实用的手机全...
超能仪模拟器新版下载-超能仪模拟器最新版(Omni-Watch 3D)3.0.2 官方版
734.2M
KokokatStudios出品的Omni-Watch3D是一款免费的模拟游戏,提供热门电视节目中的一系列手表,现已采用3D形式呈现。这款游戏为粉丝们提供了身临...
梦幻推球球2游戏下载-梦幻推球球21.0.2 安卓版
540.2M
梦幻推球球2游戏,指尖操作控制球球闯关小游戏,不断地参与游戏闯关来获取丰富的奖励,以此来解锁更多的球球皮肤,游戏玩法简单有趣,控制小球球打到终点即可成功,多种游...
大众计步软件下载-大众计步app1.0.0安卓最新版
1,961.7M
大众计步app是一款非常强大的手机线上记录步数软件,用户下载这款软件能够在上面了解到优质的提醒功能,能够帮助用户提醒规律生活,从科学的角度出发,让用户的身体更加...
木木家装app3.0.1 中文免费版
188.5M
装修,繁琐又无从下手?设计,不懂而且很贵?家,期望温馨而且舒适? 木木家装,一本装修小白的百科全书,也许能够帮到你。 在这里,装修设计,其实...
同花顺软件使用教程-同花顺炒股软件从入门到精通pdf格式免费高清版【同花顺软件使用说明书】
1,275.7M
本节内容小编为大家提供带来的是一份同花顺软件使用教程书籍,也可以说是一般同花顺软件使用说明书——同花顺炒股软件从入门到精通。该书籍为pdf格式免费高清版,共有5...
讥讽单身狗表情包图片-讥讽单身狗表情包高清完整版
301.1M
讥讽单身狗表情包在哪里下载?有没有讥讽单身狗表情包?讥讽单身狗表情包下载地址已发放,需要的小伙们赶紧下载啦~讥讽单身狗表情包图片预览:讥讽单身狗表情包说明:1....
袋鼠出行app1.0.0 安卓版
799.1M
这款软件是一款非常好用的出行必备软件,使用这个软件可以直接的进行叫车,通过叫车可以快速的进行出行服务,软件包含的功能非常之多,让使用更加方便!袋鼠出行app介绍...
烈火修仙app下载-烈火修仙:旷世奇缘(烈火修仙手机版)1.01.00 官方安卓版
1,533.8M
烈火修仙ios版是一款经典延续,全新交易和结婚系统,酷爽竞技动作体验,给你不一样的世界。聚仙破阵,百战封神,全民来开荒!唯美古风,国民玄幻,匠心巨制!烈火修仙i...
无尽跑酷手游下载-无尽跑酷(VladAndNiki Run)3.0 最新版
1,157.1M
无尽跑酷是一款休闲跑酷手游,在游戏中玩家操控角色奔跑,玩法类似地铁跑酷,一路上玩家必须拾取金币,还有各种道具帮助玩家更好的玩游戏,尽可能躲避所有障碍,感兴趣的小...
履信防伪app下载-履信防伪app安卓版1.3.1 官方版
1,801.8M
履信防伪app是一款查验商品真伪的应用,只需要用手机扫描标签即可得出商品的详细查验结果,若是真品,可以获得积分,积分可以兑换商品,如若是假货,则可以取证作为售假...
百度云网盘直链解析工具-网盘资源搜索工具1.0 免费版
1,118.1M
网盘资源搜索工具是一款专业的百度云网盘资源直链解析软件。十分强大。有需要的可以来东坡下载使用。千万不要错过了。网盘资源搜索工具说明百度云网盘直链解析工具是一款百...
解码助手app0.1.2 手机免费版
2025/10/24 03:26
灵猫传完美版下载-灵猫传完美版1.1.129限量删档计费测试
2025/11/04 04:21
译林英语一年级上app下载-译林英语一年级上电子课本1.0.4 免费版
2025/11/06 22:31
一键编程软件下载-一键编程1.1 手机版
2025/11/11 17:29
求生之路2魔域幻境迷你机枪MOD
2025/10/30 00:31
天鹅湖芭蕾舞视频下载-舞蹈圈 Lite(天鹅湖芭蕾舞教学)4.2.0 苹果最新版
2025/10/27 05:07
测五官脸型颜值的软件下载-测五官在线测试2.1.0 官方正版
2025/11/04 19:17
员工计算机监视(波尔远程控制)12.03 中文免费版
2025/10/30 04:16
夜总会战争游戏下载-夜总会战争1.0.0 安卓版
2025/11/07 04:08
糖果音圈app下载-糖果音圈app2.3.1安卓版
2025/10/21 20:41
十点半app3.1.0 安卓手机版
2025/10/27 01:44
启辰专升本app2.0 安卓免费版
2025/11/02 06:37
异次元大作战H5服下载-异次元大作战h5版1.2.27手机最新版
2025/10/23 09:48
霹雳风云录1.87破解版-霹雳风云录1.87无cd蓝耗p闪【附隐藏英雄密码】
2025/11/12 15:47
坏坏猫搜索修改版下载-坏坏猫搜索app0.9.1 去广告版
2025/10/27 23:48
坏坏猫搜索修改版下载-坏坏猫搜索app0.9.1 去广告版
2025/10/27 23:48更新
坏坏猫搜索是一款超级好用的手机阅读工具。这里包含了强大的搜索功能,用户可以在这里找到各种你想看的资源,比如小说、漫画、影视作品等。汇集了全网最新最热的资源,为用...
支持 ( 122 ) 盖楼(回复)
支持 ( 142 ) 盖楼(回复)
支持 ( 122 ) 盖楼(回复)
支持 ( 90 ) 盖楼(回复)
支持 ( 151 ) 盖楼(回复)
支持 ( 181 ) 盖楼(回复)
支持 ( 196 ) 盖楼(回复)
支持 ( 147 ) 盖楼(回复)
支持 ( 27 ) 盖楼(回复)
支持 ( 142 ) 盖楼(回复)
支持 ( 36 ) 盖楼(回复)
支持 ( 82 ) 盖楼(回复)
支持 ( 121 ) 盖楼(回复)
支持 ( 57 ) 盖楼(回复)
支持 ( 8 ) 盖楼(回复)
支持 ( 173 ) 盖楼(回复)
支持 ( 69 ) 盖楼(回复)
支持 ( 45 ) 盖楼(回复)
支持 ( 122 ) 盖楼(回复)
支持 ( 9 ) 盖楼(回复)