亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解關(guān)于java文件下載文件名亂碼問題解決方案

 更新時間:2020年01月14日 10:07:11   作者:程序猿001  
這篇文章主要介紹了詳解關(guān)于java文件下載文件名亂碼問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

JAVA文件下載時亂碼有兩種情況:

1,下載時中文文件名亂碼

2,下載時因為路徑中包含中文文件名亂碼,提示找不到文件

解決方法見下面部分代碼

response.setContentType("multipart/form-data");

      String userAgent = request.getHeader("User-Agent");
      String oraFileName = meetingFile.getFileName();
      String formFileName=oraFileName;
       
      // 針對IE或者以IE為內(nèi)核的瀏覽器:
      if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {
        formFileName = java.net.URLEncoder.encode(formFileName, "UTF-8");
      } else {
        // 非IE瀏覽器的處理:
        formFileName = new String(formFileName.getBytes("UTF-8"), "ISO-8859-1");
      }
      response.setHeader("Content-disposition",
          String.format("attachment; filename=\"%s\"", formFileName));
      response.setContentType("application/vnd.ms-excel;charset=utf-8");
      response.setCharacterEncoding("UTF-8");
          
            ServletOutputStream out;
      // 通過文件路徑獲得File對象
      File file = null;
      if (meetingFile != null) {
        file = new File(path + "upload/"+oraFileName);
      }

(1)如果第一種亂碼類型,下載頁面遇到以下的中文亂碼問題

用以下代碼解決

(2)如果下載遇到第二種亂碼問題,如圖:

用以下代碼解決:即首先確保tomcat ,eclipse等為utf-8編碼

然后JAVA中這樣與第一種對文件名編碼分開,使它們分別編碼,互不影響。

注意:以前目前測試可解決火狐與IE等瀏覽器下載時的編碼問題,而針對WIN10自帶的瀏覽器不時仍會出現(xiàn)亂碼現(xiàn)象,誰要是有好的能兼容所有瀏覽器的方法希望能與本人分享,感激不盡。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Cloud中使用Eureka的詳細過程

    Spring Cloud中使用Eureka的詳細過程

    Eureka 是 Netflix 開源的一個服務(wù)發(fā)現(xiàn)組件,它在微服務(wù)架構(gòu)中扮演著重要的角色,這篇文章主要介紹了Spring Cloud中如何使用Eureka,需要的朋友可以參考下
    2024-07-07
  • 詳解Java中hashCode的作用

    詳解Java中hashCode的作用

    這篇文章主要介紹了詳解Java中hashCode的作用的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Springboot基礎(chǔ)學(xué)習(xí)之初識SpringBoot

    Springboot基礎(chǔ)學(xué)習(xí)之初識SpringBoot

    今天帶大家學(xué)習(xí)Springboot基礎(chǔ)知識,文中有非常詳細的圖文解說及代碼示例,對正在學(xué)習(xí)java基礎(chǔ)的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • Java Method類及invoke方法原理解析

    Java Method類及invoke方法原理解析

    這篇文章主要介紹了Java Method類及invoke方法原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Java實現(xiàn)將Word轉(zhuǎn)換成Html的示例代碼

    Java實現(xiàn)將Word轉(zhuǎn)換成Html的示例代碼

    在業(yè)務(wù)中,常常會需要在瀏覽器中預(yù)覽Word文檔,或者需要將Word文檔轉(zhuǎn)成HTML文件保存,本文主要為大家詳細介紹了Java實現(xiàn)Word轉(zhuǎn)換成Html的相關(guān)方法,希望對大家有所幫助
    2024-02-02
  • SpringBoot中SmartLifecycle的使用解析

    SpringBoot中SmartLifecycle的使用解析

    這篇文章主要介紹了SpringBoot中SmartLifecycle的使用解析,SmartLifecycle是一個擴展了Lifecycle接口,可以跟蹤spring容器ApplicationContext刷新或者關(guān)閉的接口,實現(xiàn)該接口的實現(xiàn)類有特定的執(zhí)行順序,需要的朋友可以參考下
    2023-11-11
  • Admin - SpringBoot + Maven 多啟動環(huán)境配置實例詳解

    Admin - SpringBoot + Maven 多啟動環(huán)境配置實例詳解

    這篇文章主要介紹了Admin - SpringBoot + Maven 多啟動環(huán)境配置,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 快速了解Java中ThreadLocal類

    快速了解Java中ThreadLocal類

    這篇文章主要介紹了快速了解Java中ThreadLocal類,介紹了ThreadLocal 是什么,ThreadLocal的作用,ThreadLocal 原理等相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Java程序測試上傳Maven工程代碼示例解析

    Java程序測試上傳Maven工程代碼示例解析

    這篇文章主要介紹了Java程序測試上傳Maven工程代碼示例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • 詳解Java編寫算法時如何加快讀寫數(shù)據(jù)速度

    詳解Java編寫算法時如何加快讀寫數(shù)據(jù)速度

    這篇文章主要為大家詳細介紹了Java在編寫算法時如何加快讀寫數(shù)據(jù)速度,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03

最新評論