2014-05-20 5 views
0

현재 웹 API 메소드에 대한 POST를 수행 중이고 객체 배열을 게시 중입니다. 이 메서드에 도달하면 매개 변수가 제대로 처리되고 DB를 호출하고 레코드 목록을 반환합니다.웹 Api HttpResponseMessage가 파일 다운로드를 반환하지 않습니다.

그런 다음 레코드를 가져 와서 MemoryStream으로 변환 한 다음 브라우저에서 Excel 출처 시트로 다운로드합니다. 거기에서 브라우저가이 응답을 스프레드 시트로 인식 할 수 있도록 HttpResponseMessage 개체를 만들고 속성을 설정합니다.

다운로드되는 스프레드 시트를 보는 대신 아무 것도 발생하지 않습니다. 개발자 도구 (모든 브라우저)를 확인할 때 Response (응답) 헤더가 표시되는 반면 Response (응답) 탭에는 이진 데이터 만 표시됩니다. 아무도 내가 여기에서 놓칠 수도있는 것을 압니까?

enter image description here

답변

0

은 어떻게 당신의 POST거야? 할 수없는 자바 스크립트 AJAX 호출을 통해이 작업을 시도한 것처럼 보입니다 (https://stackoverflow.com/a/9970672/405180). 대신에 이것에 대한 시작 요구를 GET 요청하고 window.location = "download.action? para1 = value1 ...."과 같은 것을 사용하십시오. 일반적으로 웹 API 게시물 요청은 파일/항목을 만들지 만 검색하지 않습니다. 또는 검색어 매개 변수에 해당하는 숨겨진 요소가 포함 된 HTML 양식을 사용하고 자바 스크립트를 사용하여 양식을 제출할 수 있습니다.

+0

사용자가 단추를 클릭하여 내보내면 angularJs 컨트롤러 메서드로 리디렉션됩니다.이 메서드에서는 게시 할 개체를 만듭니다. 그런 다음 $ http를 사용하여 전화를 겁니다. 답장을 보내 주셔서 감사합니다. 귀하의 제안을 살펴 보겠습니다. – gyochum

관련 문제