과 함께 ics 형식 및 브라우저 특정 관리와 관련된 다른 질문으로 다시 전송되었습니다.
Spring 3.2에서 생성 된 RestFUL 서버를 신경 쓰면 서버를 작성했습니다.이 서버는 호출 클라이언트 (여기서는 클라이언트의 경우 브라우저라고 함)에 문자열을 직접 반환합니다. 내 메소드의 서명은 myMethod
에서ICalendar는 text/calendar mime 유형
@RequestMapping(value="/path_and_params", method = RequestMethod.GET)
public ResponseEntity<String> myMethod (@PathVariable("first") long first, @PathVariable("second") String second)
어딘가에처럼 나는 내가 무엇을 반환하는 내 욕망하는 것입니다
return new ResponseEntity<String> (icsAsString, headers, HttpStatus.CREATED);
입니다 그래서 결국 그
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "text/calendar; charset=utf-8");
headers.add("Content-Disposition", "inline;filename=calendar.ics");
와 응답을 조정할 수있다 브라우저는 이라는 파일을 String icsAsString
에서 자동으로 생성합니다 (을 사용하여 icsAsString
을 생성합니다). 210은 문법적으로 옳다.)이 파일을 다룰 올바른 애플리케이션을 선택하라. 이 희망은 Content-Disposition
헤더 (http://tools.ietf.org/html/rfc2183)에 대한 이해에서 비롯된 것입니다. 이것은 파이어 폭스 (적어도 파이어 폭스 22)와는 잘 동작한다. 그러나이 기능은 Chrome에서 작동하지 않으며 파일은 단순히 호출 탭 안에 내용으로 표시됩니다. 더구나 나는 automatically create a file
에 대한 어떤 증거도 찾을 수 없기 때문에 Firefox의 기능이라고 생각되며 IE 나 다른 브라우저에서도 문제가 발생할 수 있습니다.
그래서, 결론, 내 질문은 :
- 내가 제대로
Content-Disposition
헤더 이해 했는가? 들어오는 응답 본문 내용을 기반으로 파일을 만들도록 브라우저에 지시하는 목적을 제공해야합니까, 아니면 Firefox 특정 기능입니까? - 서버에서 파일을 만든 다음 파일을 전송하는 것이 더 좋을까요?