//后台处理类
package com.action.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URLDecoder;
import java.net.URLEncoder;
import com.opensymphony.xwork2.ActionSupport;
public class DownLoadAction extends ActionSupport {
private static final long serialVersionUID = -2570279127996753260L;
private String inputPath;
private String filename;
public String getInputPath() {
return inputPath;
}
public void setInputPath(String inputPath) {
this.inputPath = inputPath;
}
public String getFilename() {
try {
return new String(filename.getBytes(), "ISO-8859-1");
} catch (Exception e) {
e.printStackTrace();
return filename;
}
}
public void setFilename(String filename) {
this.filename =filename;
}
public InputStream getInputStream() throws Exception {
inputPath=URLDecoder.decode(inputPath,"UTF-8");
InputStream input=ServletActionContext.getServletContext().getResourceAsStream(inputPath); //解析服务器资源
return input;
}
public String download() throws Exception {
System.err.println("错误");
try {
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
}
配置文件:
<action name="download" class="com.action.action.DownLoadAction" method="download">
<result name="success" type="stream" >
<param name="contentType">application/octet-stream;charset=ISO8859-1
</param>
<param name="inputName">inputStream</param>
<param name="bufferSize">4096</param>
<param name="contentDisposition">attachment;filename="${filename}" </param>
</result>
</action>
前台页面:
<s:url id="url" action='download' namespace='/struts2' includeParams="none">
<s:param name="inputPath">/file/utils.rar</s:param> <s:param name="filename">utils.rar
</s:param>
</s:url>
<s:a href="%{url}">下载utils.rar</s:a>
//其中">/file/utils.rar file为服务器的文件夹
详细参见:http://www.blogjava.net/xcp/archive/2009/10/30/downloadList.html
附件为上传的demo。
分享到:
相关推荐
### Struts2下载文件中文乱码处理 在Web开发中,使用Struts2框架进行文件下载操作时,经常遇到的一个问题是文件名中的中文字符显示为乱码。这主要是因为浏览器和服务器之间的编码不一致所导致的。为了确保用户能够...
在处理文件下载时,Struts2提供了一套完整的解决方案,包括处理中文文件名的乱码问题。在标题提到的场景中,开发者可能遇到了在使用Myeclipse 6.5集成开发环境,JDK1.6和Tomcat 6.0服务器环境下,通过Struts2进行...
在Struts2框架中,文件上传和下载是常见的功能需求,但处理中文文件名或内容时,可能会遇到中文乱码的问题。这个问题主要涉及到字符编码的处理,包括HTTP请求的编码、文件名的编码以及文件内容的编码。接下来,我们...
Struts2 Action 处理中文乱码问题是一个常见的挑战,尤其是在进行Web开发时,由于编码格式不统一,可能导致输入或显示的中文字符出现乱码。以下是对两种解决方法的详细解释: 方法一:通过配置Struts2的i18n编码 ...
综上所述,解决Struts文件下载中文乱码问题的关键在于统一编码方式,确保URL编码、解码和HTTP响应头中的字符集设置正确。通过以上步骤,可以有效地避免中文文件名在下载过程中出现乱码的情况。同时,注意文件的读取...
本文将围绕“Struts2配置文件传值中文乱码”这一主题,深入探讨其成因、解决方案以及相关的配置细节,旨在帮助开发者有效解决中文乱码问题,提升用户体验。 ### Struts2框架简介 Struts2是Apache组织下的一个开源...
7. **文件上传**:在处理文件上传时,如Struts 2的`FileUpload`插件,需要确保文件名的编码正确处理,例如: ```java String fileName = new String(file.getName().getBytes("ISO-8859-1"), "UTF-8"); ``` 通过...
当Struts2应用在JSP页面中尝试加载并显示这些文本时,可能会遇到乱码问题,尤其是在处理中文等非英文字符时更为常见。 乱码问题的根源在于字符编码的不匹配。当资源文件的编码格式与JSP页面或服务器解析时所使用的...
本文将详细介绍如何在Struts2框架下实现批量上传与文件下载,并解决中文乱码问题。 一、Struts2文件上传 1. 配置Struts2文件上传支持: 在struts.xml配置文件中,我们需要添加`<constant>`元素来设置允许上传的...
Struts2是一个强大的Java Web...总之,解决Struts2中的中文乱码问题,关键在于配置正确的字符编码,并在文件上传和下载过程中处理好编码转换。通过以上步骤,你可以有效地在Struts2项目中实现对中文URL和文件名的支持。
以上步骤完成后,Struts2应该能正确处理包含中文文件名的上传和下载操作,避免乱码问题。不过,需要注意的是,不同的服务器环境、浏览器版本或客户端设置可能会影响到文件名编码的处理,因此在实际应用中可能还需要...
### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的挑战。这不仅影响用户体验,还可能导致数据不一致等问题。为了解决这一问题,我们需要理解其背后的原理,并采取...
在使用Struts2进行文件下载功能时,可能会遇到中文乱码的问题。本篇主要讨论如何解决Struts2.2.1版本中文件下载时的中文乱码问题,以及相关的配置和实现细节。 首先,文件下载的关键在于设置正确的HTTP响应头。`...
在Struts2的各个版本和不同过滤器设置下,GET方式提交的中文乱码问题仍然存在。一种可行的解决方案是在Tomcat服务器的配置文件`server.xml`中,修改`<Connector>`标签,添加`URIEncoding="UTF-8"`属性。这将强制...
在处理文件上传和下载时,Struts提供了一套完善的机制,但有时会遇到中文乱码的问题。本教程将详细介绍如何在Struts中实现无中文乱码的文件上传与下载,并涵盖任意数量的文件上传。 首先,解决中文乱码问题的关键...
3. **配置Struts2**:在Struts2的配置文件`struts-default.xml`或自定义的配置文件中,设置全局结果类型`stream`的编码: ```xml <constant name="struts.i18n.encoding" value="UTF-8"/> ``` **方法二:配置...
在Struts框架中,汉字乱码问题是一个常见的问题,特别是在处理中文输入时。解决这个问题涉及到多个层面,包括页面编码设置、服务器配置以及Struts的Servlet配置。以下是对这些问题的详细解释: 1. 页面编码设置: ...
在处理文件上传和下载时,Struts2可能会遇到一个常见的问题,即中文文件名的乱码问题。这是因为不同的系统和软件对字符编码的支持不同,尤其是涉及到网络传输时,编码的兼容性尤为重要。 在“struts2 中文文件名...
在开发基于Struts2框架的应用时,经常遇到的一个问题就是中文乱码。这不仅影响用户体验,还可能导致数据处理错误。本文将详细介绍如何彻底解决Struts2中的乱码问题,并提供实际可行的解决方案。 #### 二、乱码产生...
总的来说,解决JSP Struts2 URL传参中文乱码问题的关键在于确保整个应用系统的字符编码链路一致,包括但不限于客户端请求、服务器接收、应用处理、数据库存储等多个环节。通过设置合理的编码参数和过滤器,可以有效...