jspsmartupload.jar是一款针对jsp开发的上传下载组件,现在已经完美支持中文名字文件的上传下载工作。该插件使用很简单,能全程控制上传,还能对文件大小、类型等等方面做出限制,轻松过滤掉不符合要求的文件。需要的朋友下载试试吧!培训签到表模板-参加培训人员签到表模板word打印版
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");
展开内容
水果宝宝去旅行ppt-水果宝宝去旅行课件(共18页)ppt免费下载【幼儿园小班语言】
我的师妹不可能这么萌ios版1.0.1 苹果手机版
易快考试座位编排系统7.9.0.5 注册版
赛博朋克2077首日补丁下载-赛博朋克2077首日更新补丁2.01最新版
清欢社区下载安卓-清欢社区app安卓版1.0.4 最新版
AZ论坛挂机助手下载-AZ论坛自动挂机回复软件1.3绿色版
博学BXapp下载-博学BXappv1.2.0 安卓版
OD翻译软件下载安装-OD翻译软件1.2 安卓版
华影视TV版电视版下载-华影视TV版(华影视订制版)v2.2.5 免费版
灭神诀1.16地图下载-灭神诀1.16正式版【附攻略】
嘉医助手下载-嘉医诊前助手app1.3.1.2021.05.25 安卓手机版
小鸟房车多少钱-小鸟房车app(房车旅游)2.2.0 安卓版
ps2019绿色版下载-PhotoShop CC 2019绿色版20.0.4 精简版
造星疯狂钓鱼游戏2.25.1 安卓版
温室效应ppt课件-生物温室效应ppt免费版
Qsv Watch智能手表app2.2 安卓手机版
父亲节psd素材_亲情六月感恩父亲节PSD素材 免费下载-亲情六月感恩父亲节PSD素材【父亲节psd素材】免费下载
木鱼pro下载安装-木鱼pro安卓版1.0 免费版
动物园小镇经营下载-Going to y Preposiciones - LSP(动物园小镇经营手游)2.86 安卓最新版
熊猫优车app下载-熊猫优车app1.2.4 安卓手机版
雨沫社区APP下载安卓版-雨沫社区1.0 最新版
之了会计课堂app下载-之了会计课堂app5.1.4 安卓最新版
乐享生态平台下载-乐享生态app2.2.4 最新版
礼品帮app-礼品帮挑选礼物app1.1 安卓最新版
最新圆通大头笔查询工具-圆通大头笔查询软件3.0.3 官方免费版
13cj401免费下载-13CJ40-1建筑防水系统构造(一)图集pdf清晰电子版【完整无水印】
9.5/1,511.4M
13CJ40-1建筑防水系统构造(一)图集,一般被简称为13cj401图集。该图集适用于全国各地区民用建筑及工业建筑的平屋面、坡屋面、种植屋面、地下室、卫生间的...
上墙游戏下载-Up the Wall(上墙安卓版)1.1.1 最新手机版
9.6/472.9M
上墙是一款非常有意思的游戏,游戏有点烧脑,不仅考验脑力还需要考验耐心,躲避各种障碍,非常的具有挑战性,有兴趣的玩家可以免费下载。上墙游戏特色用夹娃娃机选择你的命...
9.3/30.8M
盈运宝车主app是一款盈运宝物流平台为车主朋友开发的软件,车主认证成为平台司机后,可以自由接单拉货,提供丰富货源,让你赚更多钱!盈运宝车主app介绍海量货源实时...
8.0/649.3M
小说520为各位女粉们提供与总裁、婚恋、穿越、青春、后宫、高干等丰富的热门网络小说内容,是各大应用市场推荐的女性阅读必备神器。小说520小说阅读网介绍小说520...
3D骨骼拆解手机版(Body Disasm)3.4.1 安卓版
9.0/1,318.5M
可以对各种各样的动物的骨骼进行解析,同时也是可以让人对各种动物进行详细的了解,目前更新了很多的动物,可以直接的下载,这里你就是最厉害的动物骨骼专家!3D骨骼拆解...
公司科比告别战放假通知图片制作-科比告别战放假通知生成器(一键制作)1.0 免费制作
9.8/832.9M
今天传遍朋友圈的话题就是科比的退役战了,这里小编为各位科密们带来了一个科比告别战放假通知生成器,一键制作公司科比告别战放假通知图片,非常的有趣,想在朋友圈凑下热...
8.7/720.7M
在北京你想找到一个适合你自己的商铺的话,还是非常的难的,特别是找到一个便宜有非常的实惠的店铺更是难上难,好在现在有了这款链家真有铺销售端来帮助你哦!链家真有铺销...
9.0/419.1M
刚出的一款不需要投资就可以零撸的暴力项目,芈商app看一个视频只需要15秒,就可以获得0.12元或者是0.24元,还有丰富的团队收益,市场收益和商家收益,不管多...
7.5/233.3M
这是一款非常简单的单机小游戏,这是第二部了,你扮演一个蛇刑警,要去侦破一些案子,每一个案子都有很多谜题要解开,十分考验智商!游戏介绍通过操作热血新人刑警犬山和吊...
玲珑密保锁手机版官网下载-玲珑密保锁app4.2.20 安卓版
10.0/984.7M
剑网3重制版和剑网3缘起这两款游戏的密保锁,相当于是一个游戏工具,这工具是游戏官方推出的,放置大家忘记自己的密码并且或者是账号出现什么问题都可以在这里解决的,可...
8.9/1,315.9M
变态传奇!800倍高爆率,10分钟888级,上班挂机下班回收!复古传奇1.85英雄版,英雄合击,1:1还原端游,装备全靠打!别再反复卸载啦!这款传奇手游爆率9....
9.9/765.7M
这款游戏是非常经典的天姬变游戏,以经典的少女养成为玩法的回合制策略游戏,游戏之中的每一个角色都是可以自由的升级的,轻松改编角色的外形,自由玩策略游戏哦。天姬变o...
7.6/713.2M
英文单词最怕查过以后就遗忘,查了好几次还是记不住。有了生词随身听,查过的生词将自动加入生词库,你可以利用闲暇时光反复地听单词英文发音,中文解释发音,字母拼写发音...
8.6/988.5M
一款有着多种多样的滤镜拍照的软件,这款软件极相机苹果版,给你来了不一样的拍照乐趣,还可以在上面进行趣味的涂鸦,各种的表情。极相机苹果版功能1、极速拍照,一键触屏...
闪烁之光折扣平台版下载-闪烁之光0.1折版4.2.4 最新版
9.5/1,691.2M
《闪烁之光》是一款由广州诗悦网络科技有限公司制作发行的一款冒险题材的放置卡牌游戏,于2019年6月14日正式公开测试。游戏讲述了魔族入侵冒险大陆的故事,玩家可以...
8.1/127.9M
龙之门AI学app是一个互联网教育服务软件,为同学们提供在线教学资源,丰富的网络课程,全新的教学模式,让用户可以掌握更多知识!软件介绍AI学是一款专注中小学学科...
小拉出行司机版app下载-小拉出行司机版app1.9.16 最新版
9.6/279.4M
小拉出行司机版app是主要为广大网约车司机用户打造的线上接单服务平台,能够帮助司机拓宽其订单来源,接单方式简单方便,平台合理保障你的收入,为你的日常出行多种更好...
手机依赖症软件下载-UBhind(解决手机依赖症的软件)4.1.3 智能控制版
7.8/1,541.2M
手机已经成为了我们生活中不可以缺少的一个东西了,很多的朋友都是对手机产生了依赖了,那么怎么样才可以解决对手机的依赖了?可以试试下面的这款解决手机依赖症的软件!手...
屠龙霸业ios下载-屠龙霸业手游苹果版1.0.5 手机iPhone版
8.7/112.9M
屠龙霸业可以给你不一样的屠龙类型的传奇手游,每一个都是那么的经典,让你重温一次不一样的经典传奇游戏,跟自己的兄弟去战斗以及努力吧!游戏特色在线经典传奇,每一个界...
7.9/903.6M
CarSniperSimulator是一款非常好玩的射击游戏,准备好带一些犯罪贵宾车了吗?完成你的任务,然后射击一些汽车!快来下载吧!游戏特色-经典狙击手变焦功...
剑决天下2020高爆版下载-剑决天下一元首充版1.0.01挂机版
7.6/762.4M
剑决天下一元首充版是一款东方仙侠风格的2.5DMMORPG网络移动游戏,适合各个等级年龄层玩家。以古代仙侠故事作为背景,魔族威胁三界,主角为了三界的和平与安宁,...
9.7/191.8M
全民国战是一款以三国为题材的策略游戏,游戏中玩家可以招募兵将,排兵布阵,打造最强阵容,侵占他方领土和资源。扩展自己的势力为威望,侵占天下,独霸一方。全民国战游戏...
鱼丸捕鱼大作战九游版下载-鱼丸捕鱼大作战九游版v10.3.45.4.0 最新版
8.2/1,282.2M
鱼丸捕鱼大作战九游版本,是很多朋友指定要玩的版本,该版本福利丰厚,内容丰富,体验极好,喜欢玩九游平台捕鱼的,可以试试这款,相当有趣的捕鱼新体验,轻松自在的捕鱼玩...
叮咚小快运司机端app-最快的货运平台(叮咚小快运)1.0 司机端
7.8/1,106.8M
货车司机经常会遇到送货路线太远,没有订单,货主讨价还价很麻烦,今天东坡带来的叮咚小快运司机端,这些问题统统帮你解决掉,它订单多、预约多,都是就近派单,价格也很合...
漫画手绘簿手游下载-Anime Art(漫画手绘簿游戏)1.0.9 安卓最新版
8.8/705.3M
漫画手绘簿是一款很好玩的动漫创作填色游戏。玩家可以在游戏中选择喜欢的图片进行着色,根据编号就可以轻松的进行创作。各种精美的图片轻松制作,可以下载到手机上来做成壁...