`

send_file ie下文件名乱码问题解决

阅读更多
使用rails的send_file 实现下载功能时,type指定application/xls;charset=utf-8, firefox下文件名称为中文,但是ie下确实乱码,解决方式为如果是ie的话使用CGI::escape("文件名.doc"),这样就会在ie下正常显示,例如



user_agent = request.user_agent.downcase
file_name = user_agent.include?("msie") ? CGI::escape("文件名.doc") : "文件名.doc"
send_file 文件路径, :type => "application/xls;charset=utf-8", :filename => file_name
分享到:
评论

相关推荐

    解决flask接口返回的内容中文乱码的问题

    ### 解决Flask接口返回的内容中文乱码的问题 #### 一、问题背景 在使用Flask框架开发Web应用时,可能会遇到返回的数据中中文字符显示为乱码的情况。这种情况不仅影响用户体验,还可能导致数据解析错误。本文将详细...

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

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

    ECShop函数手册

    - $file_name:文件名。 - $allow_type:允许的文件类型,默认为空数组。 - **返回值**:文件后缀名或判断结果。 #### read_static_cache() 和 write_static_cache() - **功能**:分别用于读取和写入静态缓存文件...

    ecshop函数整理二次开发文档

    - **参数**: `$file_name` 文件名, `$target_name` 目标文件名。 - **功能**: 将上传文件移动到指定位置。 - **应用场景**: 处理文件上传后的存储位置。 26. **json_str_iconv()** - **参数**: `$str` JSON字符...

    02 下载文件不在WebRoot文件夹下的downFile文件夹内.zip

    此外,考虑到项目使用了UTF-8编码,这意味着在处理文件名或任何涉及文本的部分时,应确保编码兼容性,避免乱码问题。例如,当文件名包含非ASCII字符时,需要正确处理它们。 总的来说,这个项目展示了如何在Java Web...

    JavaScript读二进制文件并用ajax传输二进制流的方法

    此外,`BinaryFile`对象的构造函数在上述代码中用于处理特定字符集转换,这是因为在某些情况下,二进制数据可能会被错误地解释为文本,导致乱码。这段代码涉及到ISO-8859-1和Windows-1252字符集之间的转换,确保数据...

    ECSHOP函数列表.pdf

    - **应用场景**:当需要读取文件内容时,此函数提供了方便的方法,尤其是在不同环境下的兼容性问题。 ##### 8. `file_put_contents()` - **功能描述**:如果系统中不存在该函数,则声明该函数用于将数据写入文件。 ...

    TmsFlexcelExports.pas

    MainForm.uniApplication.UniSession.SendFile(f); UserLogs(UniMainModule.LoggedUser, UniApplication.RemoteAddress, 'TP订单导出', 'fmGeneralDataSupplier', '导出文件名:'+f, DateTimeToStr(now())); end...

    Java Web端程序实现文件下载的方法分享

    // 解决IE下载中文文件名乱码问题 // 添加Content-Length,表示文件的大小,有助于浏览器显示下载进度 response.setContentLengthLong(file.length()); // 获取文件输入流 InputStream fis = new ...

    php下载文件的代码示例

    1. **处理中文文件名**:在某些情况下,尤其是在IE浏览器中,中文文件名可能会出现乱码。这通常可以通过编码文件名来解决,例如使用`iconv`函数将中文转换为UTF-8,并添加`BOM`头来标识编码。 2. **保存到本地**:...

    java 发送email 邮件

    本教程将深入探讨如何使用Java发送带有附件、支持多接收者且解决乱码问题的电子邮件。 首先,我们需要导入JavaMail API,这是一个用于处理电子邮件的开放源代码库。在Java项目中,可以通过以下Maven依赖引入: ```...

    spring整合freemarker发送邮件例子

    本文将详细探讨如何在Spring框架中整合Freemarker,实现邮件的发送,包括在HTML邮件中内嵌图片、添加附件以及解决字符编码问题。 首先,我们需要在Spring项目中引入相关的依赖。对于Spring,可以选择Spring Boot...

    可以显示中文名称的下载组件

    但是它本身自带的download功能并不支持中文名称的文件,在下载的时候会出现乱码,我自己编写了一个FileDownload类,放到了这个jar包中,这个类用的UTF-8编码方式,所以可以对中文文件名进行很好的支持,下面是这个类...

Global site tag (gtag.js) - Google Analytics