"AS AS"대화 상자를 강요하지 않고 응답 파일 이름을 설정하는 방법
-
20-09-2019 - |
문제
나는 어떤 응답에서 스트림을 반환하고 있습니다. content-type
헤더. 내가 찾고있는 행동은 이것입니다.
브라우저가 주어진 컨텐츠 유형의 컨텐츠를 렌더링 할 수있는 경우 브라우저 창에 표시해야합니다.
브라우저가 컨텐츠를 렌더링하는 방법을 모르는 경우 "Filename이 응답에 제공된 파일 이름이 제공되는 대화 상자"로 저장 "대화를 표시해야합니다.
문제는 내가 설정하면 Content-Disposition
헤더 with :
"첨부 파일; filename ="myfile.txt ""
브라우저는 항상 "저장으로"대화 상자를 표시합니다.
내가 설정하지 않으면 Content-Disposition
, "저장"대화 상자에 사용 된 파일 이름은 제 경우에는 작동하지 않는 URL의 파일 이름입니다.
나는 또한 설정을 시도했다 Content-Disposition
에게 inline
그러나 결과는 동일합니다.
해결책
올바른 방법은 다음과 같습니다.
Content-Disposition: inline; filename="myfile.txt"
다른 팁
기본적으로 가능한지 확실하지 않습니다. 보안 문제로 인해 브라우저는 처리 할 수있는 모든 컨텐츠 유형을 보내지 않지만 몇 가지만 Accept-Encoding
, 시나리오에서 많은 도움이되지 않습니다.
어쩌면 사용자에게 자신이 선호하는 것을 물어보고 해당 정보를 프로필에 저장할 수 있습니다.
제휴하지 않습니다 StackOverflow