欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springboot下載excel文件中文名亂碼問(wèn)題及解決

 更新時(shí)間:2024年05月31日 16:12:32   作者:時(shí)間的痕跡01  
這篇文章主要介紹了Springboot下載excel文件中文名亂碼問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Springboot下載excel文件中文名亂碼

通常在下載文件時(shí)會(huì)通過(guò)HttpServletResponse對(duì)象設(shè)置一些屬性以及文件名

核心代碼

如下:

response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(FILE_NAME, "UTF-8") + "");
response.setHeader("Content-Disposition", "attachment;filename=" + FILE_NAME+"");
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setCharacterEncoding("utf-8");

紅色部分是最終正確的姿勢(shì),最開始我是用紫色部分的代碼實(shí)現(xiàn)的,但是在用postman調(diào)用接口的時(shí)候發(fā)現(xiàn)下載下來(lái)的文件名如果有中文就會(huì)出現(xiàn)亂碼

查了一通資料,改用紅色部分實(shí)現(xiàn),但是用postman下載下來(lái)過(guò)后發(fā)現(xiàn)文件名稱是經(jīng)過(guò)編碼的。

類似這樣:

%E9%A2%84%E7%AE%97%E5%AF%BC%E5%85%A5.xlsx

于是我試了很多次還是這樣,最后偶然發(fā)現(xiàn)在瀏覽器里面調(diào)用接口下載下來(lái)的文件名是正常的,不知道postman為啥始終不行

Springboot文件下載的時(shí)候文件名出現(xiàn)問(wèn)題

1.一開始文件名全是下橫線__

經(jīng)查詢之后,添加了這行代碼

response.setHeader("Content-Disposition",
        "attachment;filename=" + URLEncoder.encode(homeworkname, "utf-8"))

2.下橫線的問(wèn)題解決了

但出現(xiàn)中文亂碼,出現(xiàn)%%字符

再次查找之類,將上述的代碼改成以下,解決亂碼

response.setHeader("Content-Disposition", "attachment;filename="+  homeworkname +";filename*=utf-8''"+URLEncoder.encode(homeworkname,"UTF-8"));

除此之外,發(fā)現(xiàn)也可以用這種方法

response.setHeader("Content-Disposition",
        "attachment;filename=" + new String(homeworkname.getBytes("utf-8"), "ISO8859-1"));

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring MVC中自定義攔截器的實(shí)例講解

    Spring MVC中自定義攔截器的實(shí)例講解

    下面小編就為大家?guī)?lái)一篇Spring MVC中自定義攔截器的實(shí)例講解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • SpringBoot+Vue+Flowable模擬實(shí)現(xiàn)請(qǐng)假審批流程

    SpringBoot+Vue+Flowable模擬實(shí)現(xiàn)請(qǐng)假審批流程

    這篇文章主要為大家詳細(xì)介紹了如何利用SpringBoot+Vue+Flowable模擬實(shí)現(xiàn)一個(gè)請(qǐng)假審批流程,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-08-08
  • spring?aop代理控制的操作方式

    spring?aop代理控制的操作方式

    spring?aop可通過(guò)參數(shù)proxyTargetProxy控制創(chuàng)建代理的方式,本文重點(diǎn)給大家介紹spring?aop代理控制的操作方式,需要的朋友可以參考下
    2022-04-04
  • SpringBoot AOP導(dǎo)致service注入后是null的問(wèn)題

    SpringBoot AOP導(dǎo)致service注入后是null的問(wèn)題

    本文主要講述了如何利用SpringAOP實(shí)現(xiàn)用戶操作日志的記錄,首先,引入SpringBoot的AOP依賴,然后,選擇基于注解的形式來(lái)實(shí)現(xiàn)日志操作,以避免污染原有代碼和邏輯,在理解了SpringBootAOP的一些注解后,需要記錄用戶的正常請(qǐng)求以及異常請(qǐng)求的信息
    2024-10-10
  • 詳解mybatis批量插入10萬(wàn)條數(shù)據(jù)的優(yōu)化過(guò)程

    詳解mybatis批量插入10萬(wàn)條數(shù)據(jù)的優(yōu)化過(guò)程

    這篇文章主要介紹了詳解mybatis批量插入10萬(wàn)條數(shù)據(jù)的優(yōu)化過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • string類和LocalDateTime的相互轉(zhuǎn)換方式

    string類和LocalDateTime的相互轉(zhuǎn)換方式

    這篇文章主要介紹了string類和LocalDateTime的相互轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 不調(diào)用方法實(shí)現(xiàn)hutool導(dǎo)出excel圖片示例詳解

    不調(diào)用方法實(shí)現(xiàn)hutool導(dǎo)出excel圖片示例詳解

    這篇文章主要為大家介紹了不調(diào)用方法實(shí)現(xiàn)hutool導(dǎo)出excel圖片示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • java前后端加密解密crypto-js的實(shí)現(xiàn)

    java前后端加密解密crypto-js的實(shí)現(xiàn)

    這篇文章主要介紹了java前后端加密解密crypto-js的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • java實(shí)現(xiàn)漢字轉(zhuǎn)unicode與漢字轉(zhuǎn)16進(jìn)制實(shí)例

    java實(shí)現(xiàn)漢字轉(zhuǎn)unicode與漢字轉(zhuǎn)16進(jìn)制實(shí)例

    這篇文章主要介紹了java實(shí)現(xiàn)漢字轉(zhuǎn)unicode與漢字轉(zhuǎn)16進(jìn)制的實(shí)現(xiàn)方法,是Java操作漢字編碼轉(zhuǎn)換的一個(gè)典型應(yīng)用,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • Netty分布式pipeline管道傳播事件的邏輯總結(jié)分析

    Netty分布式pipeline管道傳播事件的邏輯總結(jié)分析

    這篇文章主要為大家介紹了Netty分布式pipeline管道傳播事件總結(jié)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03

最新評(píng)論