[http] “다른 이름으로 저장”대화 상자없이 응답 파일 이름을 설정하는 방법

적절한 content-type헤더를 설정하는 일부 응답에서 스트림을 반환하고 있습니다. 내가 찾고있는 동작은 다음과 같습니다.

  • 브라우저가 주어진 콘텐츠 유형의 콘텐츠를 렌더링 할 수있는 경우 브라우저 창에 표시해야합니다.

  • 브라우저가 콘텐츠를 렌더링하는 방법을 모르는 경우 파일 이름이 응답에 제공된 이름이어야하는 “다른 이름으로 저장”대화 상자를 표시해야합니다.

문제는 다음과 같이 Content-Disposition헤더를 설정하는 경우 입니다.

“첨부 파일; 파일 이름 =”myfile.txt “”

브라우저는 항상 “다른 이름으로 저장”대화 상자를 표시합니다.

을 설정하지 않으면 Content-Disposition“다른 이름으로 저장”대화 상자에 사용 된 파일 이름은 제 경우에는 작동하지 않는 URL의 파일 이름입니다.

나는 또한 설정 Content-Disposition을 시도 inline했지만 결과는 동일합니다.



답변

올바른 방법은 다음과 같습니다.

Content-Disposition: inline; filename="myfile.txt"


답변

기본적으로 가능한지 잘 모르겠습니다. 보안 문제로 인해 브라우저는 처리 할 수있는 모든 콘텐츠 유형을 전송하지 않고 몇 가지만 전송 Accept-Encoding하므로 시나리오에서 많은 도움이되지 않습니다.

사용자에게 선호하는 정보를 물어보고 해당 정보를 프로필에 저장할 수 있습니다.


답변