html 의 a 탭 을 사용 하여 href 를 파일 로 연결 할 때 솔 루 션 을 다운로드 할 수 없습니다.

가장 간단 한 파일 다운로드 방식 은 html 에 있 는 a 태그 의 href 연결 형식 으로 다운로드 한 다 는 것 을 잘 알 고 있 습 니 다.href 에 파일 의 모든 경 로 를 할당 하면 됩 니 다.그러나 이렇게 되면 어떤 파일 은 기본적으로 다운로드 할 수 있 고, 어떤 파일 은 브 라 우 저가 웹 페이지 에서 직접 열 리 며, 때로는 난 장 판이 될 수도 있다.이것 은 클 라 이언 트 와 관계 가 없습니다. 클 라 이언 트 는 완전히 수 동적 입 니 다. 그 는 html 스 트림 을 받 을 때 헤더 를 분석 합 니 다. 만약 에 헤더 에 파일 의 다운로드 방식 을 지정 하면 엑셀 을 위해 상 자 를 쳐 서 사용자 에 게 온라인 으로 열 었 는 지, 아니면 다운로드 저장 을 했 는 지 알려 줍 니 다. 만약 에 헤더 에 지정 되 지 않 으 면 브 라 우 저 는 직접 열 립 니 다. 이렇게 하면 특수 파일 에 대해난 장 판이 생기 기 쉽다.그래서 이 를 피하 기 위해 서 는 서버 에서 지정 해 야 합 니 다.프로그램 개발 을 통 해 클 라 이언 트 출력 흐름 에 다운로드 하면 쉽게 지정 할 수 있 습 니 다. 다음 과 같 습 니 다.
response.setContentType("application/x-msdownload; charset=utf-8");
if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0)
response.setHeader("Content-Disposition", "attachment; filename="
+  new String(filename.getBytes("UTF-8"), "ISO8859-1"));//firefox   
else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0)
response.setHeader("Content-Disposition", "attachment; filename="
+ URLEncoder.encode(filename, "UTF-8"));//IE   

a 로 연결 하면 서비스 설정 을 수정 해 야 합 니 다. tomcat 의 경우 conf / web. xml 를 보고 모든 mime 형식 을 찾 습 니 다. 다운로드 할 파일 이 존재 한다 면 수정 하지 않 아 도 됩 니 다. 존재 하지 않 는 다 면 추가 한 다음 서비스 기 를 다시 시작 하고 a 탭 에 파일 을 다운로드 할 전체 경 로 를 부여 하면 됩 니 다.(예 를 들 어 xls 파일 은 설정 을 수정 하지 않 아 도 되 고 rar 는 설정 이 필요 하 며 zip 도 설정 할 필요 가 없습니다). 경로 에 중국어 가 포함 되 어 있 으 면 조금 더 변경 해 야 합 니 다. 그렇지 않 으 면 다운로드 할 수 없습니다. server. xml 파일 에서 http 포트 설정 에 인 코딩 을 추가 해 야 합 니 다. 다음 과 같 습 니 다.

<Connector port="8282" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" 
               URIEncoding="utf-8" />

URIEncoding 에 주의 하 십시오. 게다가 tomcat 에 대해 서 는 get 방식 으로 요청 한 인 코딩 을 여기에서 설정 할 수 있 기 때 문 입 니 다. post 가 요청 한 인 코딩 분석 방식 에 대해 서 는 전통 적 인 request. setContent * * 방식 으로 설정 할 수 있 습 니 다. 파일 경로 에 중국어 이름 이 존재 합 니 다. 서버 에 어떻게 해석 하고 어떤 방식 으로 편집 하 는 지 알려 야 합 니 다.코드 를 분석 하면 됩 니 다!

좋은 웹페이지 즐겨찾기