Java 다운로드 파일 이름이 깨집니다.
다운로드 시 JAVA 파일이 깨지는 경우는 두 가지입니다.
1 다운로드 시 중국어 파일 이름이 깨집니다.
2. 경로에 잘못된 문자가 포함되어 다운로드할 때 이름이 깨져서 파일을 찾을 수 없다는 메시지가 나타납니다
해결 방법은 코드의 다음 부분을 참조하세요 (권장 튜토리얼: 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) 첫 번째 유형의 잘못된 코드가 발견되면 다운로드 페이지에서 다음과 같은 중국어 잘못된 코드 문제가 발생합니다.
다음 코드를 사용하여 문제를 해결하세요.
(2 ) 다운로드 시 그림과 같이 두 번째 잘못된 코드 문제가 발생하는 경우:
다음 코드를 사용하여 문제를 해결하세요. 즉, 먼저 tomcat, eclipse 등이 utf-8로 인코딩되어 있는지 확인하세요.
그러면 JAVA에서는 파일명의 첫 번째 인코딩과 분리되어 있어서 별도로 인코딩되어 서로 영향을 주지 않습니다.
위 내용은 Java에서 다운로드한 파일 이름이 깨졌습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!