Es gibt zwei Situationen, in denen die JAVA-Datei beim Herunterladen verstümmelt ist: (Empfohlen: Java-Video-Tutorial)
1. Der chinesische Dateiname ist beim Herunterladen verstümmelt
2. Da der Pfad beim Herunterladen verstümmelte chinesische Dateinamen enthält, wird angezeigt, dass die Datei nicht gefunden werden kann
Die Lösung finden Sie im folgenden Teil des Codes
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 Code eingegeben wird, stößt die Download-Seite auf das folgende chinesische verstümmelte Problem
Verwenden Sie den folgenden Code, um es zu lösen
(2) Beim Herunterladen Wenn das zweite Problem mit verstümmeltem Code auftritt, wie in der Abbildung gezeigt:
Verwenden Sie den folgenden Code Um es zu lösen: Stellen Sie zunächst sicher, dass Tomcat, Eclipse usw. UTF-8-codiert sind
Dann wird dies in JAVA von der ersten Codierung der Dateinamen getrennt, sodass Sie werden separat codiert, ohne sich gegenseitig zu beeinflussen.
Weitere Java-Kenntnisse finden Sie in der Spalte Java Basic Tutorial.
Das obige ist der detaillierte Inhalt vonEinführung in Lösungen für verstümmelte Downloads von Java-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!