그리드 기술이 적용된 Mac용 다운로드 어플리케이션
getdownlist.php , getdownstatus.php 작성 해야합니다. (utf-8 로 작성해 주세요)
1. 다운로더 호출
- 사이트 웹 페이지(다운로드 버튼)에서 다음과 같이 base64로 변환하여 파라메터를 전달해야 합니다.
1) 다운로더 호출 (scheme)
예)
var data = '{"site":"filejo","userid":"user_test_id","bbs_index":"10001","purchase_index":"123456", "ver":"1.0", "url":"http://183.111.69.153/mac/", "update_url":"https://filejo.com/mac_download.php"}';
// "site" 값은 사이트 명을 입력 ( 발급된 사이트 이름입니다)
// "userid" 값은 다운로드 사용자 아이디.
// "bbs_index" 값은 게시물 번호
// "purchase_index" 값은 구매번호
// "ver" 앱의 버번정보
// "url" 서버의 정보 ( http://183.111.69.153/mac/getdownlist.php , http://183.111.69.153/mac/getdownstatus.php 를 호출합니다. )
// "update_url" 업데이트 URL (버전이 다를 경우, 대화창이 나타나고, 업데이트 페이지로 이동합니다.)
var param = btoa(unescape(encodeURIComponent(data))); // base64 인코딩
window.location = "FileJoDownloader://open?param=" + param; // 다운로더 어플리케이션 호출
2. 컨텐츠 정보 요청 ( getdownlist.php )
- 다운로더에서 서버의 getdownlist.php 로 파일의 정보를 요청합니다.
- 다운로더 호출 scheme 에서 url 서버로 요청합니다. (예, http://183.111.69.153/mac/getdownlist.php)
2) 컨텐츠 정보 요청 (Http POST Request)
예) 파라미터
"site"=사이트명
"userid"=아이디
"bbs_index"=10001
"purchase_index"=123456
3. 컨텐츠 정보 응답
- 서버에서 다운로더로 파일의 정보를 응답합니다.
3) 컨텐츠 정보 응답
예) {
"site":"filejo",
"userid":"user_test_id",
"bbsindex":"10001",
"purchase_index":"123456",
"error_code":"0", // 0 이 아니면, error_msg 를 어플 메시지 창으로 보여줍니다.
"error_msg":"잘못된 접근입니다.",
"filelist":[
{
"filename":"L+2PtOuNlOuqhS/tjIzsnbzrqoUubXA0", // 하위폴더가 필요한 경우 전체 경로와 파일명을 입력 후 base64로 인코딩한다 예) base64("/폴더명/파일명.mp4")
"index":"121212",
"server":file.icoxs.co.kr:5588", //스토리지 서버의 정보, (그리드 서버모듈 mserver)
"serverfilename":"/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_1234567890",
"user_name":"",
"user_pwd":"",
"user_params":"",
"hash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"filesize":"1234567890",
"ftp":"ftp.icoxs.co.kr:2121/public_html/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_1234567890", // FTP서버의 전체 주소 포트가 21인 경우 생략가능
"ftp_user":"ftp아이디",
"ftp_pwd":"ftp비밀번호"
}
,{
"filename":"L+2PtOuNlOuqhS/tjIzsnbzrqoUubXA0", // 하위폴더가 필요한 경우 전체 경로와 파일명을 입력 후 base64로 인코딩한다 예) base64("/폴더명/파일명.mp4")
"index":"121212",
"server":file.icoxs.co.kr:5588", //스토리지 서버의 정보, (그리드 서버모듈 mserver)
"serverfilename":"/bbbbbbbbbbbbbbbbb_1234567890",
"user_name":"",
"user_pwd":"",
"user_params":"",
"hash":"bbbbbbbbbbbbbbbbbbbbbbbbbb",
"filesize":"1234567890",
"ftp":"ftp.icoxs.co.kr:2121/public_html/bbbbbbbbbbbbbb_1234567890", // FTP서버의 전체 주소 포트가 21인 경우 생략가능
"ftp_user":"ftp아이디",
"ftp_pwd":"ftp비밀번호"
}
]
}
4. 다운로드 상태 전송 ( getdownstatus.php )
- 각각의 파일별로 전송상태를 전달합니다.
- 그리드 실패시 ftp로 다운로드 됩니다.
1) 다운로더 -> 서버 (Http POST Request)
예) 파라미터
"site"="filejo"
"userid"="user_test_id"
"bbs_index"=10001
"purchase_index"=123456
"index"=121212,
"status"=1 // -1:다운로드 실패, 1:다운로드 시작, 2:다운로드 완료, -3:ftp 다운로드 실패, 3:ftp 다운로드 시작, 4:ftp 다운로드 완료
2) 서버 -> 다운로더 (Json Response)
예) {
"site":"filejo",
"userid":"user_test_id",
"bbsindex":"10001",
"purchase_index":"123456",
"index":"121212",
"err_code":"0", // 직접 작성하시면 됩니다. 0 이 아닌값은 다운로드가 되지 않고 err_msg 값을 상태에 표시합니다. ( 1: 다운로드 시작시에만 적용)
"err_msg":"저작권 중지", ( 1: 다운로드 시작시에만 적용)
"flag":"0" // 임시
}
모듈 / OS | Windows | Linux | Android | Mac |
다운로드 어플리케이션 | FileJoDownloader_202502260.pkg |