Heim  >  Artikel  >  Java  >  Der von Java heruntergeladene Dateiname ist verstümmelt

Der von Java heruntergeladene Dateiname ist verstümmelt

angryTom
angryTomOriginal
2019-11-12 16:19:142091Durchsuche

Der von Java heruntergeladene Dateiname ist verstümmelt

Der Dateiname des Java-Downloads ist verstümmelt

Es gibt zwei Situationen, in denen der JAVA-Dateidownload verstümmelt ist:

1. Beim Herunterladen ist der chinesische Dateiname verstümmelt

2. Beim Herunterladen wird angezeigt, dass die Datei nicht gefunden werden kann, da der Pfad einen verstümmelten chinesischen Dateinamen enthält

Die Lösung finden Sie im folgenden Teil des Codes ( Empfohlene Tutorials: Java-Tutorial)

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

            String userAgent = request.getHeader("User-Agent");
            String oraFileName = meetingFile.getFileName();
            String formFileName=oraFileName;
              
            // 针对IE或者以IE为内核的浏览器:
            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) Wenn der erste verstümmelte Typ auftritt, wird auf der Download-Seite Folgendes angezeigt: Um das folgende chinesische verstümmelte Problem zu lösen:

Der von Java heruntergeladene Dateiname ist verstümmelt

Der von Java heruntergeladene Dateiname ist verstümmelt

Verwenden Sie den folgenden Code, um das Problem zu lösen

Der von Java heruntergeladene Dateiname ist verstümmelt

(2) Wenn beim Download das zweite verstümmelte Problem auftritt, wie in der Abbildung gezeigt:

Der von Java heruntergeladene Dateiname ist verstümmelt

Verwenden Sie den folgenden Code, um das Problem zu lösen: Stellen Sie zunächst sicher, dass Tomcat und Eclipse auf die UTF-8-Kodierung warten

Der von Java heruntergeladene Dateiname ist verstümmelt

und dann trennen Dies erfolgt ab der ersten Kodierung des Dateinamens in JAVA, sodass sie separat kodiert werden und sich nicht gegenseitig beeinflussen.

Der von Java heruntergeladene Dateiname ist verstümmelt

Das obige ist der detaillierte Inhalt vonDer von Java heruntergeladene Dateiname ist verstümmelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn