`

支持中文的jspSmartUpload.jar包(带转载)

阅读更多
原始的jspSmartUpload.jar对支持中文的下载很有点问题,按照网上的说法得修改源代码,但是得找到源代码,在网上找是找到了源代码,但是跟jar里的class文件不是匹配的(可以修改这些源代码全部编译,自己再做个包啊!哎,当时想的是把原先里的一个class换了)……
  还好,在我的仔细的查找下终于找到了个支持上传下载中文的jar
包,附有jar包
以下是例子:
//index.jsp
<%@ page contentType="text/html;charset=GBK"%>
<html>
	<head>
		<title>File Upload</title>
	</head>
	<body>
		<font size=5 color=#FF0000> <b>文件上传----使用jspsmart upload组件</b>
		</font>
		<br>

		<form action="uploadfile" method="post" enctype="multipart/form-data">
			<p>
				文件名称:
				<input type="file" name="file1" size="20" maxlength="80">
			</p>
			<p>
				文件名称:
				<input type="file" name="file2" size="20" maxlength="80">
			</p>
			<p>
				文件名称:
				<input type="file" name="file3" size="20" maxlength="80">
			</p>
			<p>
				上传路径:
				<input type="text" name="path" size="30" maxlength="50">
				<br>
			</p>

			<p>
				附加内容:
				<input type="text" name="other" size="30" maxlength="50">
			</p>
			<p>
				<input type="submit" value="上传">
				<input type="reset" value="重置">
			</p>
		</form>

		<font size=5 color=#FF0000> <b>文件下载----使用jspsmart upload组件</b>
		</font>
		<br>
		<form action="downloadfile" method="post">
			<p>
				下载文件的名称:
				<input type="text" name="downloadFileName" size="20" maxlength="80">
			</p>
			<input type="submit" value="下载">
	</body>
	</form>
</html>



==================================================
// Servlet: ServletUpload.java 上传
package wit.ou;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jspsmart.upload.SmartUpload;
/**
 * 描述:上传servlet
 * @author 2009-3-4  转载 http://www.blogjava.net/hijackwust/archive/2007/08/22/138598.html
 *
 */
public class ServletUpload extends HttpServlet {
 private ServletConfig config;
 final public void init(ServletConfig config) throws ServletException {
  this.config = config;
 }
 
 protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
  PrintWriter out = response.getWriter();
  out.println("<HTML>");
  out.println("<BODY BGCOLOR='white'>");
  out.println("<H1>jspSmartUpload : Servlet Sample</H1>");
  out.println("<HR>");
  // 变量定义
  int count = 0;
  //创建一个SmartUpload类
  SmartUpload mySmartUpload = new SmartUpload();
  try {
		//初始化   
	    mySmartUpload.initialize(config, request, response);
	   //上传
	   mySmartUpload.upload();
	   for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
	    com.jspsmart.upload.File myfile = mySmartUpload.getFiles().getFile(i);
	    String fileName = myfile.getFileName();
	    //保存
	    count = mySmartUpload.save("/upload");
	    //count = mySmartUpload.save(null);
	   }
	   out.println(count + " file uploaded.");
  } catch (Exception e) {
	   out.println("Unable to upload the file.<br>");
	   out.println("Error : " + e.toString());
  }
  //通过 方法    mySmartUpload.getRequest().getParameter(arg0);还可以获取传过来的非file类型的其他值。
  out.println("</BODY>");
  out.println("</HTML>");
 }
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  doGet(request, response);
 }
}



//servlet: ServletDownload.java 下载
package wit.ou;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jspsmart.upload.SmartUpload;
public class ServletDownload extends HttpServlet {
	 private ServletConfig config;
	 final public void init(ServletConfig config) throws ServletException {
	  this.config = config;
	 }
	 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	  String temp_p =request.getParameter("downloadFileName");
	  byte[] temp_t=temp_p.getBytes("ISO8859_1");
	  String fileName=new String(temp_t,"GBK");
	  SmartUpload mySmartUpload = new SmartUpload();
	  try {
		  //初始化
	   mySmartUpload.initialize(config, request, response);
	   //设置不自动打开
	   mySmartUpload.setContentDisposition(null);
	   mySmartUpload.downloadFile("/upload/"+fileName);
	  } catch (Exception e) {
	   e.printStackTrace();
	  }
	 }
	 protected void doPost(HttpServletRequest request,
	   HttpServletResponse response) throws ServletException, IOException {
	  // TODO Auto-generated method stub
	  doGet(request, response);
	 }
	}


其中上传的时候 还可以通过jar包提供的方法设置一些上传的参数!

下载文件常用的方法

1、setContentDisposition

作用:将数据追加到MIME文件头的CONTENT-DISPOSITION域。jspSmartUpload组件会在返回下载的信息时自动填写MIME文件头的CONTENT-DISPOSITION域,如果用户需要添加额外信息,请用此方法。

原型:public void setContentDisposition(String contentDisposition)

其中,contentDisposition为要添加的数据。如果contentDisposition为null,则组件将自动添加"attachment;",以表明将下载的文件作为附件,结果是IE浏览器将会提示另存文件,而不是自动打开这个文件(IE浏览器一般根据下载的文件扩展名决定执行什么操作,扩展名为doc的将用word程序打开,扩展名为pdf的将用acrobat程序打开,等等)。

2、downloadFile

作用:下载文件。

原型:共有以下三个原型可用,第一个最常用,后两个用于特殊情况下的文件下载(如更改内容类型,更改另存的文件名)。

① public void downloadFile(String sourceFilePathName)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名)

② public void downloadFile(String sourceFilePathName,String contentType)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别)。

③ public void downloadFile(String sourceFilePathName,String contentType,String destFileName)

其中,sourceFilePathName为要下载的文件名(带目录的文件全名),contentType为内容类型(MIME格式的文件类型信息,可被浏览器识别),destFileName为下载后默认的另存文件名。

就到这里了,以后有什么补成了陆续加上

分享到:
评论
2 楼 andey007518 2009-07-24  
太及时了,谢谢了,哥们
1 楼 gszhiyong 2009-05-13  
感激不尽!

相关推荐

    jspSmartUpload.jar下载.rar

    "jspSmartUpload.jar下载.rar"这个标题和描述暗示了我们讨论的主题是关于一个Java Servlet页面(JSP)上的文件上传功能。`jspSmartUpload.jar`是一个库文件,通常用于帮助开发者在JSP应用中实现文件上传功能。`.rar`...

    jspSmartUpload.jar包+使用方法

    标题:“jspSmartUpload.jar包+使用方法” 描述提到:“直接把该包放入你的项目中的lib就可以用了。很方便的。” 在这个描述中,我们谈论的是一个名为“jspSmartUpload.jar”的Java库,它主要用于处理Web应用中的...

    完美支持中文文件下载的jspsmartUpload.jar

    完美支持中文文件下载的jspsmartUpload.jar完美支持中文文件下载的jspsmartUpload.jar完美支持中文文件下载的jspsmartUpload.jar

    jspSmartUpload.jar

    修改过的jspSmartUpload.jar,上传中文文件名不会乱码,表单中文参数不乱码

    jspsmartupload.jar 可以处理下载时中文乱码问题

    `jspsmartupload.jar` 是一个专为Java Web开发设计的上传组件,它主要用于解决在处理文件上传过程中可能出现的中文乱码问题。在早期的Java Web应用中,由于编码不一致,尤其是在处理包含中文字符的文件名时,经常会...

    jsp使用jspsmartupload.jar包上传文件示例

    ### JSP 使用 jspsmartupload.jar 包上传文件示例详解 #### 一、概述 在JSP(Java Server Pages)开发中,文件上传是一项常见的功能需求。jspsmartupload.jar是一个专门用于处理文件上传的强大工具包,它简化了...

    jspsmartupload.jar

    开发者可以使用`jspsmartupload.jar`处理文件上传,`jsp-api.jar`处理JSP页面的动态渲染,`slf4j-api-1.5.6.jar`和`slf4j-simple-1.5.2.jar`负责日志记录,而`javaee.jar`提供了开发Java EE应用所需的所有核心API。...

    jspSmartUpload.jar包

    使用jspSmartUpload进行文件上传下载很是方便 下面我是我自己写的一篇关于java实现文件上传下载功能的文章喜欢的朋友可以看一下 https://blog.csdn.net/dsn727455218/article/details/80361025

    上传文件使用的jar包jspsmartupload.jar

    "jspsmartupload.jar"是一个专为Java Web应用设计的文件上传组件,它允许开发者轻松实现文件上传功能。这个jar包简化了处理用户通过表单上传文件的复杂性,提供了一个高效、安全且易于使用的解决方案。 首先,我们...

    jspsmartupload.jar文件上传所需要的包

    《jspsmartupload.jar在JavaEE中的应用及文件上传详解》 在JavaEE开发中,文件上传是一项常见的功能,尤其在构建动态网站或Web应用程序时。`jspsmartupload.jar`是一个早期流行的文件上传组件,它为JavaServer ...

    (支持UTF-8)---- jspSmartUpload.jar

    "jspSmartUpload.jar"是一个专为Java Web开发设计的库,用于处理文件上传任务,尤其强调对UTF-8字符集的支持。这个库在处理多语种环境下的文件上传时,能确保文件名和元数据的正确编码,避免了因字符集问题导致的...

    jspSmartUpload.jar msbase.jar mssqlserver.jar msutil.jar

    这些文件在给定的列表中——"jspSmartUpload.jar", "msbase.jar", "mssqlserver.jar", "msutil.jar"——都是JAR文件,它们在Java应用程序开发中扮演着重要角色。下面将详细阐述这些文件及其相关知识点。 首先,`jsp...

    JSPsmartupload.jar

    jspsmartupload,在jsp中实现文件上传的jar包

    jsp上传下载、jspsmartupload.jar、cos-26Dec2008.zip

    - `jspsmartupload.jar`支持大文件分块上传,有错误处理机制,可以处理文件大小限制、类型限制等问题,使上传过程更稳定可靠。 二、`jspsmartupload.jar`库详解 `jspsmartupload.jar`是专为JSP设计的一个文件上传...

Global site tag (gtag.js) - Google Analytics