2013-11-03 3 views
3

내 서버에 "MyFile.doc"라는 파일이 있고 같은 인스턴스에 jsp라는 파일이 있습니다. jsp와 같은 리디렉션이 response.sendRedirect ("MyFile.doc");와 같습니다. 사용자가 jsp 파일을 가져올 때 파일을 "MyFile_XYZT.doc"로 지정하려고합니다. 즉, 동적으로 생성 된 ID로 다운로드해야합니다.다운로드 프로세스 중에 파일 이름을 변경하는 방법

저는 Content-Disposition 방법에 대해 조사하고 발견했습니다.

아이디어가 있으십니까?

+1

발견 한 솔루션을 구현하고 정상적으로 작동하는지 확인하는 것은 어떻습니까? –

답변

6

저는 Content-Disposition 방법에 대해 조사하고 발견했습니다.

맞아요, 다운로드에 제안 된 파일 이름을 선택적으로 포함하여 응답과 함께 할 브라우저를 지정하는 방식입니다.

나는 여기에 하나의 라이너가 없다고 생각합니다. 해당 을 관련 Content-Disposition 헤더와 함께 반환하도록 서버를 구성하거나 JSP에서 코드로 이름을 제어하려면 setHeader을 사용하여 직접 응답을 보내야 Content-Disposition 헤더를 설정해야합니다. 예 :

... 파일을 열고 내용을 읽은 다음 응답에서 전송합니다. 그것은 많은 코드 (아마 4 ~ 5 라인)가 아니지만 한 줄짜리 코드가 아닙니다.

+0

답해 주셔서 감사합니다. 당신이 조언처럼 response.setHeader를 사용한다면, "filename"매개 변수 용으로 작성된 것처럼 다운로드 한 모든 파일의 이름을 "MyFile_XYZT.doc"로 지정하겠습니까? – ftb

+1

@ftb : 전송할 응답의 내용에 해당 이름을 사용하도록 브라우저에 제안합니다. 물론 각 요청마다 다른 이름을 사용하려는 경우 문자열 연결을 사용하여이를 수행 할 수 있습니다. 여기서 핵심은 헤더를 보내고 파일 내용을 응답으로 스트리밍해야한다는 것입니다. 리디렉션을 보낼 수 없습니다. –

관련 문제