`

web文件下载,路径或文件名中文乱码

 
阅读更多

 

/**

* 附件下载

* @param dlPath 文件绝对路径

* @throws Exception 

*/

public void dl(String dlFilePath) throws Exception{

FacesContext context = FacesContext.getCurrentInstance(); 

HttpServletResponse response = (HttpServletResponse)context.getExternalContext().getResponse();

 

ServletContext servletContext = (ServletContext)context.getExternalContext().getContext();

 

String fileFullName = servletContext.getRealPath(dlFilePath);

 

File file = new File(fileFullName);

if(file.isDirectory() || !file.isFile()) return;

response.setContentType("application/x-msdownload"); 

response.setCharacterEncoding("UTF-8");

response.setHeader("Content-Disposition", "attachment; filename=\"" + DataUtil.encodeFileName(file.getName())+"\"");

response.getOutputStream().write(DataUtil.fileToByte(file));

response.getOutputStream().flush();

context.responseComplete();

}

0
0
分享到:
评论

相关推荐

    Java实现文件下载并解决中文文件名乱码

    ### Java实现文件下载并解决中文文件名乱码 在日常的Web开发中,经常会遇到需要让用户下载文件的需求,尤其是在企业级应用中。然而,在实际操作过程中可能会遇到一个常见问题:当文件名包含中文字符时,下载后的...

    jsp实现文件下载与中文文件名乱码问题解决

    本文将深入解析如何在JSP中实现文件下载,并解决中文文件名乱码的问题。 首先,我们需要了解HTTP协议在处理文件下载时的角色。当用户请求下载一个文件时,服务器需要设置响应头来指示浏览器如何处理这个响应。在JSP...

    struts2 中文文件名文件下载

    在处理文件上传和下载时,Struts2可能会遇到一个常见的问题,即中文文件名的乱码问题。这是因为不同的系统和软件对字符编码的支持不同,尤其是涉及到网络传输时,编码的兼容性尤为重要。 在“struts2 中文文件名...

    Java文件下载,Java文件下载中文乱码,Java通用文件下载

    在Java编程中,文件下载是常见的任务之一,特别...通过以上步骤,你可以实现一个基本的Java文件下载功能,并解决中文文件名乱码的问题。对于更复杂的应用场景,如大文件分块下载、断点续传等,还需要进一步优化和扩展。

    jspsmartupload上传文件工程路径中文无乱码

    在这个Eclipse工程实例中,我们将探讨如何使用`jspsmartupload`来实现文件和图片的上传,同时确保文件保存路径中的中文字符不会出现乱码问题。 首先,`jspsmartupload`库解决了文件上传过程中的一些常见问题,如...

    Java Web实现文件下载和乱码处理方法

    1. **定位文件**:首先,你需要根据文件名或文件路径找到文件的实际位置。这可能涉及到数据库查询或文件系统的遍历,以获取文件的完整路径。 2. **获取输入流**:一旦找到了文件,你需要创建一个`InputStream`,从...

    struts2中的批量上传与文件下载(解决中文乱码问题)

    2. 解决中文文件名乱码: 在返回文件流前,设置响应头的`Content-Disposition`,并编码文件名,如: ```java response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName,...

    http下载文件(包含中文路径转换)

    在处理包含中文或其他非ASCII字符的文件名或路径时,如果不进行适当的编码转换,可能会导致文件名乱码、路径无法识别等问题。特别是在HTTP协议中,所有数据传输都需要遵循特定的格式标准,因此对于非英文路径的处理...

    解决不同浏览器下载时中文名乱码问题

    在Web开发过程中,经常遇到的一个问题是当用户尝试下载包含中文字符的文件名时,会出现乱码的情况。这是因为不同的浏览器处理文件名编码的方式有所不同,导致服务器端设置的文件名在客户端显示不正确。本文将详细...

    ajax post下载flask文件流以及中文文件名问题

    关于中文文件名乱码问题,除了上述的URL编码方法,还可以使用`Content-Disposition`头来传递文件名,但这种方法的兼容性可能不如URL编码好。`Content-Disposition`头的格式通常是`attachment; filename*=UTF-8''...

    Struts实现文件下载中文乱码解决方案

    在处理文件下载时,可能会遇到中文文件名乱码的问题,这主要是由于字符编码不一致导致的。以下是对这个问题的详细分析及解决方案: 首先,问题出现在文件列表的展示和下载链接的生成过程中。在Action中,`request....

    jspsmart上传下载文件实例中文

    5. **处理编码问题**:JSpsmart实例中特别注意了文件名乱码问题,确保文件名在上传和下载过程中保持正确。 ### 二、JSpsmart工作流程 1. **初始化SmartUpload对象**:在JSP或Servlet中创建SmartUpload实例,并进行...

    struts2.2.1文件下载及中文乱码问题解决.pdf

    例如,限制可下载的文件类型或路径,防止恶意用户访问敏感资源。 总的来说,Struts2通过Action和Result的配置提供了便捷的文件下载功能。在处理中文文件名时,需注意文件名的编码问题,确保其在不同环境下的正确性...

    response中文乱码解决的代码

    下面是一段示例代码,演示了如何使用Servlet来实现文件下载并解决中文文件名乱码: ```java import java.io.*; import javax.servlet.ServletException; import javax.servlet.http.*; public class ...

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

    在Java Web开发中,由于编码不一致或者处理不当,经常会导致中文字符在上传或下载过程中出现乱码,`jspsmartupload.jar` 的作用就是解决这个问题。 在处理文件上传时,`jspsmartupload.jar` 实现了以下关键功能: ...

    jsp文件的上传和下载

    本项目专注于解决在JSP中实现文件上传和下载时遇到的一些常见问题,特别是针对中文文件名的处理。下面我们将深入探讨这个主题。 首先,文件上传通常涉及到HTTP协议中的multipart/form-data类型表单。在JSP中,我们...

    iis支持路径中的中文

    自IIS 5和IIS 6版本起,该软件就已具备了支持中文路径的能力,这意味着可以在URL或文件系统路径中使用中文字符,而不必担心编码或显示问题。这一特性极大地提升了IIS在全球范围内的适用性和用户体验,尤其是对于中文...

    文件下载及web文件的contentType类型大全

    ### 文件下载及Web文件的ContentType类型详解 在Web开发中,处理文件下载是常见的需求之一。为了确保用户能够正确地下载文件并且...此外,还需注意编码问题,例如中文文件名的乱码问题,这同样会影响用户的下载体验。

    下载文件(压缩包)的代码,保证下载不会有乱码

    在给定的代码中,使用了`HttpUtility.UrlEncode`方法对文件名进行URL编码,这是防止文件名乱码的有效方式,因为URL编码可以将特殊字符转换为ASCII可表示的形式。 以下是代码的详细解读: 1. 定义一个名为`...

Global site tag (gtag.js) - Google Analytics