HTTP 프로토콜을 이용하여 POST방식으로 서버에 있는 파일을 로컬로 다운로드한다.
Parameters | Type | Description |
---|---|---|
strUrl | STRING | 다운로드할 파일 url |
arrPostParams | Array | 전송할 파라미터 배열[option] |
strSavingFileName | STRING | 저장할 파일명[option] |
bUseBlankWindow | BOOL | [옵션] 빈 윈도우 사용 여부(기본값: true) |
nAjaxModeType | short | [옵션] AJAX 통신 모드 (기본값: 0) |
Type | Description |
---|---|
void |
두번째 인자인 전송할 파라미터 배열은 {name:<전송할 키>, value:<전송할 값>} 형태의 원소들을 가진 배열을 생성하여 전달한다.
세번째 인자인 저장할 파일명은 {name:"SavingFileName", value:<세번째 인자값>} 형태로 두번째 인자에 추가되어 호출된다.
네번재 인자인 bUseBlankWindow 값은 파일 다운로드 진행시 브라우저의 새로운 탭을 임시로 사용할 지 여부를 결정한다. bUseBlankWindow 값을 false로 지정하고, 서버에서 아래의 설명과 같이 적절한 Content-disposition 헤더를 설정하지 않은 경우, 브라우저가 파일 내용을 현재 창에 표시 할 수 있다.
서버에서 브라우저 유형에 맞추어 HTTP Response 헤더에 "Content-disposition: attachment"을 사용하면, 브라우저 인식 파일확장자를 포함하여 모든 확장자의 파일들에 대해, 다운로드시 무조건 "파일 다운로드" 대화상자가 뜨도록 하는 헤더 속성을 사용하는 것을 권고한다.
nAjaxModeType 파라미터가 0이 아닌 경우에는, AJAX 통신을 통해 파일 다운로드를 수행하고, strSavingFileName 파라미터 값으로 파일을 저장하며, bUseBlankWindow 파라미터 값은 무시되며, 서버에서 Content-disposition 헤더를 설정하지 않아도 된다.
* nAjaxModeType 파라미터 0: AJAX 통신을 수행하지 않음 1: AJAX 통신 (withCredentials 값 true) 2: AJAX 통신 (withCredentials 값 false)
function btn_httpdownloadfilepost_on_mouseup()
{
// 파일 위치 직접 지정
factory.httpdownloadfilepost("http://127.0.0.1/test.zip");
// 서버 페이지 지정
var params = [];
params.push({name:"FileURI", value:"http://127.0.0.1/test.zip"});
factory.httpdownloadfilepost("http://127.0.0.1:8080/download.jsp, params, "test.zip");
}