jspsmartupload.jar下载

系统:Android 大小:14KB

类型:编程相关 更新:2015-12-31 10:37

介绍 相关 评论(0)

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");

展开全部

应用信息

猜你喜欢
    jar文件
    JAR是一种与平台无关的文件格式,可将多个文件合成一个文件。JAR格式也支持压缩,从而减小了文件的大小,进一步缩短下载时间。可以对JAR文件内容加上数字化签名。这样,能够识别签名的工具就可以有选择地为您授予软件安全特权,这是其他文件做不到的,它还可以检测代码是否被篡改过。
    进入专区
    JSP文件
    JSP是在传统html文件中插入java标记形成的文件格式,根本上来说是一个简化的Servlet设计,它在服务器端上执行时,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP完全必备了Java技术简单易用的特点,完全面向对象,具有平台无关性且安全可靠。
    进入专区

    相关文章

    玩家留言 跟帖评论
    查看更多评论
    其它版本