
类型: 美妆护肤 版本: V4.7
大小: 1,234.7 时间: 2025-11-22





jspsmartupload.jar是一款针对jsp开发的上传下载组件,现在已经完美支持中文名字文件的上传下载工作。该插件使用很简单,能全程控制上传,还能对文件大小、类型等等方面做出限制,轻松过滤掉不符合要求的文件。需要的朋友下载试试吧!
方法一:(之前在页面直接跳转上传时能够解决问题,异步提交上传图片就不能正常了)
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");
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;
}
}
2018最新微信赚钱
983.7M
粉红小猪打地鼠ios版是一款非常好玩的休闲益智游戏,为孩子提供了手眼并用,全神贯注的能力训练,快来东坡免费下载试试吧!游戏介绍游戏不仅考验速度,而且考研准确度,...
蚂蚁金服基金怎么赚钱
932.1M
依靠互联网打造的培训学习软件,狮说学员版app有丰富的课程,从入门到高级的课程,加入班级还可以和其他的同学进行讨论,大家共同进步。功能介绍课前调研:开班调研、数...
电竞体育棋牌
966.0M
弓箭手对决手游是一款3v3公平对战的竞技游戏,玩法丰富,将动作,策略多种玩法相结合,多种不同的规则和地图,3分种一场对战,风格美术时尚。游戏特色1.3v3公平竞...
现金棋牌支持花呗
991.1M
《城主天下》是一款策略塔防类型的手机游戏,玩家在游戏中扮演城主,需要通过建造防御塔、招募英雄等手段来保卫自己的城堡,同时可以进攻其他玩家的城堡,掠夺资源,扩展领...
仙豆棋牌注册六元下载
862.6M
年轻人使用的手机是越来越智能,文字也是大小都是无所谓的,但是老人使用的手机需要简单明了,而且功能要体贴以及字体要大一些才好,现在小编就给你介绍RuyiLaunc...
清沁棋牌室
351.2M
MIDI制作器app是一款简单的MIDI音乐制作软件,操作非常的简单,用户可以直接编写专属于自己的midi音符,支持模拟midi键盘、乐器选择。MIDI制作器a...
兼职国庆有三倍工资吗
1,648.5M
微信聊天记录恢复器是一款功能强大、有效地针对微信聊天内容进行备份和恢复的软件。软件支持安卓以及苹果版手机微信聊天记录的恢复,并且安卓设备无需进行root操作,苹...
推广赚佣金的项目赚钱
223.0M
阿拉德战记异次元裂缝v1.43正式版是一款魔兽防守地图,地图本次更新加强排泄,解决一直刷怪的问题,优化卡顿和问答题库的更新。全新问答题等你来回答地图详细地图名字...
兼职工作室玩什么条件
1,934.9M
由东阳晴朗影视开发,播放本公司制作的影视作品,单片付费新模式。一款影视剧播放平台,用于播放若你安好便是晴天这部电视剧的app,目前除了此剧以外,还有兄弟厨子兵电...
网上做家教赚钱
1,227.0M
看到一个函数不知道怎么画图像?手机画函数图像的软件可以根据函数公式直接画出函数图像,非常简单方便,赶紧来试试吧!你正在寻找一个高效方便的计算器吗? 你...
给小说配音赚钱吗
1,967.8M
楼月skype录音软件是一款功能强大的qq、微信和Skype聊天语音录音软件,操作简单,只需要打开聊天窗口,然后点击开始就可以开始录音,时间、声音大小都可以设置...
学咸鱼赚钱要多久
481.5M
位似这节课内容是了解图形的位似,解位似与相似的联系和区别,掌握直角坐标系中图形的位似变化与对应点坐标变化的规律。东坡小编分享新人教版九年级下册数学27.3位似p...
春节几天赚钱项目
1,139.4M
固乔视频助手是一款功能出色的电商视频素材下载软件,它可以支持下载淘宝抖音\快手火山\美拍APP短视频,也可以对视频片断一键合并,是电商必备工具。固乔视频素材下载...
手机上能赚钱的游戏
499.4M
木马清除大师是国际一流的木马病毒查杀软件,十四大实时监控和接近对120万多种木马病毒的查杀,使您的计算机如铁桶一样密不透风,让您高枕无忧,真正的御木马于千里之外...
1517棋牌
1,984.1M
野兽先生海洋行动是一款很有意思的趣味冒险战斗闯关手游。游戏有着丰富的剧情内容,海量的游戏关卡等你来战。玩家将化身主角收集海洋中的垃圾,让环境变得更加美好,给你不...
月入一万创业做什么
2025/11/16 22:45
乐山棋牌大厅下载安装
2025/11/16 09:54
youtube搬砖收入
2025/11/17 03:06
精彩棋牌官网进不去
2025/11/13 09:42
狼人杀赚钱吗
2025/11/09 22:02
余姚生活网兼职工作
2025/11/23 00:57
什么棋牌能打鱼
2025/11/13 19:13
平遥寒假兼职
2025/11/22 09:16
淘宝网上兼职怎么做的
2025/11/23 20:28
投资什么金融赚钱的
2025/11/07 19:29
赚赏金的网站
2025/11/10 19:40
有兼职工作吗
2025/11/22 21:41
淘金币每天最多领多少
2025/11/13 08:23
开加盟牛排店利润高吗
2025/11/21 05:43
怎么赚钱才能买房
2025/11/20 00:09
怎么赚钱才能买房
2025/11/20 00:09更新
集邮在如今也是很多的人都是非常的流行的,这个相信也是不少的人都是非常的感兴趣的,那么现在就可以给你介绍下面的这款中国邮政集邮网上营业厅手机版,方便你在自己的手机...
支持 ( 127 ) 盖楼(回复)
支持 ( 66 ) 盖楼(回复)
支持 ( 99 ) 盖楼(回复)
支持 ( 65 ) 盖楼(回复)
支持 ( 198 ) 盖楼(回复)
支持 ( 67 ) 盖楼(回复)
支持 ( 32 ) 盖楼(回复)
支持 ( 190 ) 盖楼(回复)
支持 ( 129 ) 盖楼(回复)
支持 ( 194 ) 盖楼(回复)
支持 ( 64 ) 盖楼(回复)
支持 ( 46 ) 盖楼(回复)
支持 ( 181 ) 盖楼(回复)
支持 ( 68 ) 盖楼(回复)
支持 ( 177 ) 盖楼(回复)
支持 ( 177 ) 盖楼(回复)
支持 ( 85 ) 盖楼(回复)
支持 ( 92 ) 盖楼(回复)
支持 ( 200 ) 盖楼(回复)
支持 ( 127 ) 盖楼(回复)