jspsmartupload.jar是一款针对jsp开发的上传下载组件,现在已经完美支持中文名字文件的上传下载工作。该插件使用很简单,能全程控制上传,还能对文件大小、类型等等方面做出限制,轻松过滤掉不符合要求的文件。需要的朋友下载试试吧!
smartupload功能特点
1、使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。
2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。
3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。
4、下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。
jspsmartupload.jar怎么用
smartupload使用方法

如果想让Tomcat服务器的所有Web应用程序都能用它,必须做如下工作:
1.进入命令行状态,将目录切换到Tomcat的webapps/jspsmartupload/WEB-INF目录下。
2.运行JAR打包命令:jar cvf jspSmartUpload.jar com,也可以打开资源管理器,切换到当前目录,用WinZip将com目录下的所有文件压缩成jspSmartUpload.zip,然后将jspSmartUpload.zip换名为jspSmartUpload.jar文件即可。
3.将jspSmartUpload.jar拷贝到Tomcat的shared/lib目录下。
上传相关代码
uploadFile.jsp
<%@ page contentType="text/html;charset=GB2312"%>
<form method="post" action="doUpload.jsp" enctype="multipart/form-data">
<table width="315" border="0">
<tr>
<td width="309" align="center"><input type="file" name="file1" size="30"></td>
</tr>
<tr>
<td align="center"><input type="file" name="file2" size="30"></td>
<tr>
<td align="center"><input type="submit" name="Submit" value="上传"></td>
</tr>
</table>
</form>
doUpload.jsp
<%@ page contentType="text/html; charset=gbk"
import="java.util.*,com.jspsmart.upload.*"%>
<html>
<head>
<title>文件上传处理页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
</head>
<body>
<%
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
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目录
int count = su.save("/upload");
out.println(count+"个文件上传成功!<br>");
// 利用Request对象获取参数之值
out.println("TEST="+su.getRequest().getParameter("TEST")
+"<BR><BR>");
// 逐一提取上传文件信息,同时可保存文件。
for (int i=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.File file = su.getFiles().getFile(i);
// 若文件不存在则继续
if (file.isMissing()) continue;
// 显示当前文件信息
out.println("<TABLE BORDER=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
<%@page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>下载</title>
</head>
<body>
<a href="do_download.jsp">点击下载</a>
</body>
</html>
do_download.jsp
<%@ page contentType="text/html;charset=gb2312"
import="com.jspsmart.upload.*" %>
<%
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 初始化
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文件中,增加的方法如下:
public static String toUtfString(String s) {
StringBuffer sb = new StringBuffer();
for (int i=0;i<s.length();i++) {
char c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
} else
{
byte[] b;
try {
b = Character.toString(c).getBytes("utf-8");
} catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).toUpperCase());
}
}
}
return sb.toString();
}
将文件名转换为UTF-8形式的编码形式。UTF-8编码对英文未作任何处理,对中文则需要转换为%XX的形式。toUtf8String方法中,直接利用Java语言提供的编码转换方法获得汉字字符的UTF-8编码,之后将其转换为%XX的形式。
修改 getFileName()方法如下,使其调用toUftString()方法
private String getFileName(String s) {
int i = 0;
String s1 = toUtfString(s);
i = s1.lastIndexOf('/');
if (i != -1) {
return s1.substring(i + 1, s1.length());
}
i = s1.lastIndexOf('\\');
if (i != -1) {
return s1.substring(i + 1, s1.length());
} else {
return s1;
}
}
smartupload中文乱码怎么办
方法一:(之前在页面直接跳转上传时能够解决问题,异步提交上传图片就不能正常了)
1.解决中文乱码:
【1】:首先上传页面和接收页面都必须制定编码格式为GBK;
<%@ page language="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
//对表单中的中文区域值得获取并进行转码
var name = parent.window.$("#tabs_name").val();
var direction = 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)
String name = smart.getRequest().getParameter("name");
name = URLDecoder.decode(name,"utf-8");
- PC官方版
- 安卓官方手机版
- IOS官方手机版














下载
下载
下载
下载
下载
下载
Apifox(Api调试管理工具)2.1.29.1 绿色版
小乌龟代码管理工具(TortoiseGit)2.13.0.1 中文免费版
SoapUI破解版5.7.0 最新版
小皮面板(phpstudy)8.1.1.3 官方最新版
Ruby3.0(ruby运行环境)3.0.2 官方版
gcc编译器( MinGW-w64 9.0.0绿色版)免费下载
宝玉编辑助手0.0.05新版
火花编程软件2.7.2 官方pc版
猿编程少儿班客户端3.1.1 官方版
Restorator 2009中文版单文件汉化版
十六进制阅读小工具
IT码农工具软件1.0 中文免费版
python爬虫实战入门教程pdf免费版
Postman Canary(网页调试软件)官方版7.32.0绿色免费版
大耳猴少儿编程客户端1.1.2 官方免费版
excel批量sql语句(通过excel构建sql工具)1.0 免费版
软件添加弹窗和网址工具1.0 中文免费版
天霸编程助手2.1 单文件中文版
ida pro 中文破解版(反编译工具)7.0 永乐汉化版64位
VBA代码助手3.3.3.1官方版
Node.js开发实战教程百度云完整版【36课】
猿编程电脑端3.9.1.347 官方PC版
蒲公英 Android SDKV4.1.11 官方最新版
蒲公英iOS SDK2.8.9.1 官方最新版
WxPython中文可视化编辑器1.2 简体中文免费版
Python代码生成器1.0 中文免费版
C语言代码实例助手1.0 免费版
c primer plus第6版中文版高清版
C++ Primer Plus 2021电子版最新版
notepad++7.8.2 中文免费版




Microsoft Spy++9.10 中文绿色版
源代码保护工具(Dotfuscator Professional
MDB数据库管理软件1.0 中文免费版
源码安全监测工具(Fortify SCA 2016)【附cr
RTX ServerSDK 2015官方最新版
阿猫串口调试助手2.4.0.0绿色免费版
精易论坛SQL语句生成器2.1 绿色最新版 【
java开源报表系统(JasperReports Library)6
独立团游戏作坊窗口分析工具【VIP全套教程及