在需要下载中文时可以使用StreamResult来完成,以下是摘自该类的JavaDoc的对参数的说明:
引用
contentType - the stream mime-type as sent to the web browser(default = text/plain).
contentLength - the stream length in bytes (the browser displays aprogress bar).
contentDisposition - the content disposition header value forspecifing the file name (default = inline, values are typicallyfilename="document.pdf".
inputName - the name of the InputStream property from the chainedaction (default = inputStream).
bufferSize - the size of the buffer to copy from input to output(default = 1024).
其中,要下载的文件是什么,需要设置相应的contentType,如需要下载Excel要设置成"application/vnd.ms-excel",要下载word文档需要设置成"application/msword",而下载TXT文档只需要设置成"text/plain",其它PDF什么的也都有对应的值,请大家补充吧。
这里只说一下出现中文文件名如何处理,这需要使用到contentDisposition参数,在我们现在的代码中很多是直接写了个英文名在配置文件中,这样当然没有问题,但是如果文件名是动态生成的,而且会是中文如何处理呢?这需要在相应的Action中做如下的处理:
除了在Action中处理ImputStream类型的属性外,再增加一个String类型的Filename属性(可以按需求取相应的名称)。
在处理逻辑中设置Filename的值,但是在设置完成后一定要将它转换为ISO8859-1的编码,如
this.exportFilename = new String(this.exportFilename.getBytes(), "ISO8859-1");
在配置文件中这样设置:
<param name="contentDisposition">attachment;filename="${exportFilename}"</param>
我对struts.xml不是很熟,可能大家已经知道了类似${name}这样的用法,通过这样可以引用Action中的属性信息。这样配置后,就可以下载中文文件名的文件了。
另外,在这里,对contentDisposition多说两句,现在我们要下载文件,使用的是attachment,这里还可以设置的一个参数是inline,它会直接在浏览器中显示下传的内容。
分享到:
相关推荐
在“struts2 中文文件名文件下载”的场景中,我们需要关注的是如何在Struts2框架下正确处理包含中文字符的文件名。首先,我们要理解文件名编码ISO8859-1,这是一个西欧字符编码标准,不支持中文字符。在处理中文...
以上步骤完成后,Struts2应该能正确处理包含中文文件名的上传和下载操作,避免乱码问题。不过,需要注意的是,不同的服务器环境、浏览器版本或客户端设置可能会影响到文件名编码的处理,因此在实际应用中可能还需要...
### Struts2下载文件中文乱码处理 在Web开发中,使用Struts2框架进行文件下载操作时,经常遇到的一个问题是文件名中的中文字符显示为乱码。这主要是因为浏览器和服务器之间的编码不一致所导致的。为了确保用户能够...
本篇文章将详细介绍如何在Struts2中实现文件下载,并解决中文文件名的编码问题。 首先,我们需要在`struts.xml`配置文件中定义一个Action,这个Action将会处理文件下载的请求。例如,我们可以创建一个名为`...
在处理文件下载时,Struts2提供了一套完整的解决方案,包括处理中文文件名的乱码问题。在标题提到的场景中,开发者可能遇到了在使用Myeclipse 6.5集成开发环境,JDK1.6和Tomcat 6.0服务器环境下,通过Struts2进行...
通过以上步骤,你可以实现一个基于Struts2和Hibernate的文件上传与动态下载系统。这个系统能够处理用户上传的文件,将其保存到服务器,同时提供动态下载功能,允许用户根据需要下载文件。在实际开发中,还需要考虑...
在本文中,我们将深入探讨如何使用Struts2框架实现文件下载功能,尤其是处理包含中文...通过以上步骤,你可以使用Struts2实现文件下载功能,包括处理中文文件名。理解这些知识点有助于构建健壮且用户友好的Web应用。
本文将详细介绍如何在Struts2框架下实现批量上传与文件下载,并解决中文乱码问题。 一、Struts2文件上传 1. 配置Struts2文件上传支持: 在struts.xml配置文件中,我们需要添加`<constant>`元素来设置允许上传的...
以下将详细介绍如何在Struts 2中实现文件下载,特别是处理中文文件名的问题。 首先,你需要创建一个Action类,例如`FileDownloadAction`,这个类需要包含一个方法来提供文件的输入流。通常,你会有一个属性如`...
指定了Struts 2应用所需的国际化资源文件,如果有多个国际化资源文件,多个文件名间以英文逗号`,`分隔。 #### struts.diSPAtcher.parametersWorkaround 针对某些Java EE服务器不支持`HttpServletRequest`调用`...
在这个“struts2文件下载”的主题中,我们将深入探讨如何在Struts2框架下实现文件下载功能,同时解决中文文件名在下载过程中出现乱码的问题。 首先,了解文件下载的基本流程是至关重要的。在Struts2中,文件下载...
### Struts2文件上传与下载教程 #### 一、文件上传原理及实现 **1.1 基础概念** 文件上传是Web开发中的常见需求之一。在Struts2框架中,实现文件上传主要依赖于表单的`enctype`属性设置为`multipart/form-data`。...
在Struts2框架中,文件上传和下载是常见的功能需求,但处理中文文件名或内容时,可能会遇到中文乱码的问题。这个问题主要涉及到字符编码的处理,包括HTTP请求的编码、文件名的编码以及文件内容的编码。接下来,我们...
在Struts2中,文件上传和下载是常见的功能,对于处理用户通过表单提交的文件数据非常有用。这篇教程将带你了解如何在Struts2中实现文件上传和下载,并涉及到国际化(i18n)的应用。 1. **文件上传**: - **配置...
本文将重点介绍Struts2中文件下载的实现方式,包括其配置、代码实现以及对中文文件名的支持。 #### Struts2文件下载的基本原理 Struts2的文件下载主要通过`<result type="stream">`元素来配置,该元素允许将一个...
本教程将详细介绍如何在Struts中实现无中文乱码的文件上传与下载,并涵盖任意数量的文件上传。 首先,解决中文乱码问题的关键在于配置正确的字符编码。在Struts的配置文件`struts-config.xml`中,你需要为...
在Struts2中,实现文件下载功能是常见的需求,尤其是处理包含中文文件名的场景,因为中文字符在URL中可能会引起编码问题。下面我们将详细讨论如何使用Struts2实现文件下载功能,并处理中文文件名的转码。 首先,...
Struts2是一个强大的Java Web...总之,解决Struts2中的中文乱码问题,关键在于配置正确的字符编码,并在文件上传和下载过程中处理好编码转换。通过以上步骤,你可以有效地在Struts2项目中实现对中文URL和文件名的支持。
在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互时,如允许用户上传个人资料图片或下载文档。本教程将深入探讨如何在Struts2中实现这两个功能,并特别关注解决中文文件名的问题。 首先,我们要...
当Struts2应用在JSP页面中尝试加载并显示这些文本时,可能会遇到乱码问题,尤其是在处理中文等非英文字符时更为常见。 乱码问题的根源在于字符编码的不匹配。当资源文件的编码格式与JSP页面或服务器解析时所使用的...