2013-07-09 4 views
0

GET을 사용하여 POST로 바꾼 몇 가지 코드를 다시 작성합니다.JQuery를 사용하여 파일 보내기 요청 보내기 POST

GET 요청으로 사용되는 다운로드 URL

https://myurl/getfile?fileid=1234&filetype=pdf 

에 지금, 나는 변경이

https://myurl/getfile 

하고 POST 본문에 fileid=1234&filetype=pdf을 넣어. 서버 사이드 자바를 사용하여 작성하고 내가 서블릿의 스트림으로 파일 바이너리를 쓰기 GET에 대한 기존의 코드를 재사용하려고

function postCall(url, param) { 
    $.post(url, param); 
} 

:로

나는이 사용하는 jQuery의 포스트 방법을했다.

그러나 내 브라우저는 GET을 위해 사용자를 다운로드하라는 메시지를 표시하지 않습니다.

이전 게시물에 대한 stackoverflow 않았다 AJAX 파일 다운로드에 사용할 제안했다. 그러나 나를 대신 사용할 수있는 방법은 무엇입니까? 요청은 양식에 의해 생성되지 않습니다.

감사합니다.

+0

java를 모르지만 기본적으로 파일 바이트를 응답에 넣은 다음 content-type을 해당 파일 끝으로 설정해야합니다. 희망이 도움이 –

+0

당신은뿐만 아니라 서버 측 코드에서 관련 부분을 보여줄 수 있습니까? – mthmulders

답변

0

양식에 페이지를 작성하거나 (jQuery를 사용하여 동적으로 양식을 작성한 후) 해당 양식을 제출 양식 (jQuery의 "제출"기능 또는 "제출 ('제출)"양식 사용)). 이렇게하면 요청이 백그라운드에서 비동기 적으로 완료되지 않습니다. "getfile"스크립트가 Content-disposition : 첨부 파일이있는 파일로 응답하면 다운로드해야합니다.

즉, 브라우저가이 시나리오에서 사용자에게 "프롬프트"할 것인지 확신 할 수 없습니다. 브라우저가 다운로드를 저장할지 여부에 관계없이 또는 자동으로 파일을 다운로드하는지 여부에 따라 달라집니다 프롬프트없이).

+0

감사합니다. Andy. 솔루션처럼 들립니다. 나는 이것을 시도 할 것이다. – Kevin