java struts-struts2的xml配置下载文件时文件名乱码

问题描述

struts2的xml配置下载文件时文件名乱码



这里写上中文名乱码了,我可以咋解决呢?谢谢大家的指点!

解决方案

http://blog.csdn.net/csh624366188/article/details/6695702

解决方案二:

非常谢谢你给的链接,我这个问题都一天多了,我刚才看了那个链接,然后试着弄到我的项目中,完美的解决了问题,非常感谢!

解决方案三:

附上我的解决方法:

public class DownFileAction {

    private String fileName;//由页面传递过来

    public String execute() throws UnsupportedEncodingException{
        return "success";
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) throws UnsupportedEncodingException {
        this.fileName = new String(fileName.getBytes("ISO-8859-1"),"UTF-8");
    }

    //获取输入流
    public InputStream getInputStream() throws FileNotFoundException, UnsupportedEncodingException {

        String rootPath = ServletActionContext.getRequest().getSession().getServletContext().getRealPath("upload");

        HttpServletResponse response = ServletActionContext.getResponse();
        response.setHeader("Content-Disposition", "attachment;fileName="+java.net.URLEncoder.encode(fileName,"UTF-8"));
       return ServletActionContext.getServletContext().getResourceAsStream(rootPath+"\"+fileName);
    }

}
 <action name="downFile" class="com.mx.struts2.action.DownFileAction">
            <result type="stream">
                <param name="contentType">application/octet-stream</param>
                <param name="inputName">inputStream</param>
                <param name="bufferSize">2048</param>
            </result>
</action>
时间: 2024-08-12 15:56:27

java struts-struts2的xml配置下载文件时文件名乱码的相关文章

Java下载文件时文件名乱码问题解决办法_java

复制代码 代码如下: public static String toUtf8String(String s) {              StringBuffer sb = new StringBuffer();              for (int i = 0; i < s.length(); i++) {                  char c = s.charAt(i);                  if (c >= 0 && c <= 255

使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法

使用HttpURLConnection下载文件时经常会出现 java.io.FileNotFoundException文件找不到异常,下面介绍下解决办法 首先设置tomcat对get数据的编码:conf/server.xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncodin

java实现Spring在XML配置java类的方法_java

1. 创建自己的bean文件:beans.xml <?xml version="1.0" encoding="UTF-8"?> <busi-beans> <beans> <bean id="SysHelloImpl" type="com.cxm.test.SysHello"> <desc>test</desc> <impl-class>com.

java 多线程-为什么使用Java多线程下载文件时下载后的文件和服务器端文件大小一模一样但是无法打开

问题描述 为什么使用Java多线程下载文件时下载后的文件和服务器端文件大小一模一样但是无法打开 为什么使用Java多线程下载文件时下载后的文件和服务器端文件大小一模一样但是无法打开?? package com.miuitust.mutilethread; import java.io.File; import java.io.InputStream; import java.io.RandomAccessFile; import java.net.HttpURLConnection; impor

二进制-Android从FTP服务器下载文件时由传输模式引起的问题

问题描述 Android从FTP服务器下载文件时由传输模式引起的问题 从FTP服务器下载windows系统下编写的二进制文件,下载发现总是少几个字节,后来发现是因为windows系统下换行是0D0A两个字节,而在Unix系统下只有0A一个字节,百度到需要把ftp的传输模式设置为二进制格式,我也按照网上的方法设置了,但是下载文件的这个问题仍然存在,求好心的大神帮帮忙,谢谢! 解决方案 下载FTP服务器上文件java 代码之FTP服务器下载文件从FTP服务器下载文件 解决方案二: 额,这个问题我自己

PHP 下载文件时自动添加bom头的方法实例

 这篇文章主要介绍了PHP 下载文件时自动添加bom头的方法实例,有需要的朋友可以参考一下 首先弄清楚,什么是bom头?在Windows下用记事本之类的程序将文本文件保存为UTF-8格式时,记事本会在文件头前面加上几个不可见的字符(EF BB BF),就是所谓的BOM(Byte order Mark). 不仅限于 记事本保存的文件,只要在文件的开口包含了EF BB BF 几个不可见的字符(十六进制应该是是xEFxBBxBF,用二进制编辑文件可见).这像是一个约定俗成的东西,当系统看到这玩意的时候

怎样让Win7系统下载文件时不保存至桌面

使用Win7系统上网下载东西时,点击右键"另存为"文件,左边会出现一列保存位置,很多朋友习惯先将文件保存到"桌面"上,因为这样载下来的东西容易找到.但如果你是自己的电脑,不希望别人总将文件保存到桌面上时,该怎么办呢?其实我们可以设置下载文件时无法保存到桌面,直接将"桌面"选项从左边隐藏起来. 方法一.在文件"另存为"窗口中,从左侧导航栏"收藏夹"和"库"间空白位置处右键单击一下,取消勾选

java-从 url 中下载文件时的错误

问题描述 从 url 中下载文件时的错误 我想从url中读取一个文件,然后定义它为一个File Type public File fileFromUrl(String str) throws IOException { File file = new File ("image.png"); URL url = new URL (str); InputStream input = url.openConnection().getInputStream(); try { OutputStr

下载文件时根据MIME类型自动判断保存文件的扩展名

引言 用WebClient下载远程资源时,经常会遇到类似这样的网址: http://www.uushare.com/filedownload?user=icesee&id=2205188 http://www.guaishow.com/u/luanfujie/g9675/ 我们不知道这个Url具体代表的是一个网页,还是某种类型的文件. 而有些Url虽然带有扩展名,但可能是错误的扩展名,常见的比如把gif文件标上了jpg扩展名. 如果我们没法正确判断下载源的文件类型的话,就无法保存为正确的文件格式