MNetwork Extends¶
MNetExt Framework 에 대한 필수 API 를 정의
NetExt API¶
확장된 네크워크 관련된 기능들을 제공
HTTP 파일 업로드¶
-
M.net.http.
upload
(setting)¶ Changed in version 2.0.0.
- Arguments
setting (Object) – 리소스 업데이트를 위한 설정 정보
setting.url (String) – 파일을 업로드 하기 위한 url
setting.headers (Object) – http header 정보
setting.parameters (Object) – 업로드 파라메터 정보
setting.body (Array) – multipart body 정보
setting.encoding (String) – 인코딩
setting.indicator (Bool) – 인디케이터 여부
setting.finish (Function) – 파일 업로드 완료
setting.timeout (Int) – 타입 아웃 (milliseconds)
-
M.net.http.
finish
(statusCode, header, body)¶ - Arguments
statusCode (String) – 실행 결과 코드
header (String) – 응답 헤더 정보
body (String) – 응답 바디 정보
- Arguments
setting.progress (Function) – 파일 업로드 프로그래스
-
progress
(total, current, remaining, percentage)¶ - Arguments
total (String) – 업로드 파일 사이즈
current (String) – 업로드된 파일 사이즈
remaining (String) – 남은 파일 사이즈
percentage (String) – 진행률 퍼센트
Http multipart 파일 업로드를 한다.
- Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들
header = headers
param = parameters
params = parameters
onprogress = progress
onfinish = finish
callback = finish
Example:
M.net.http.upload({
url: "http://lab.morpheus.kr/api/test/file/upload",
header: {},
params: {},
body: [
{ content: "파일업로드", type: "TEXT" },
{ name: "imgs", content: "test.zip", type: "FILE" },
{ name: "imgs", content: "test/test1.txt", type: "FILE" },
{ name: "imgs", content: "test/test2.txt", type: "FILE" }
],
encoding : "UTF-8",
finish : function(status, header, body, setting) {
console.log(status);
},
progress : function(total, current) {
console.log(total, current);
}
});
M.media.picker({
mode: "SINGLE",
media: "PHOTO",
column: 3,
callback: function( status, result ) {
var fileList = [], fileCont = {};
fileCont.name = 'file';
fileCont.content = ( M.navigator.os('android') ) ? result.fullpath : result.path; ;
fileCont.type = 'FILE';
fileList.push(fileCont);
M.net.http.upload({
url: "http://210.104.181.170:8280/board/attach",
header: {},
params: {index : "3"},
body: fileList,
encoding : "UTF-8",
finish : function(code, header, body, status, error) {
if (status == 'SUCCESS') {
M.pop.alert( status + " / " + header + body );
}
else
{
M.pop.alert( status + " / " + error );
}
}
});
}
});
M.media.picker({
media: "PHOTO",
choice: "MULTI"
}, function(status, result) {
M.tool.log(status, result);
//alert( status + ", " + JSON.stringify(result) );
if ( status === "SUCCESS" ) {
M.net.http.upload({
url: "http://210.104.181.170:8280/board/attach",
header: {},
params: {},
files: result,
encoding : "UTF-8",
finish : function(status, header, body, setting) {
},
progress : function(total, current) {
}
});
}
});
HTTP 파일 다운로드¶
-
M.net.http.
download
(setting)¶ Changed in version 2.0.0.
- Arguments
setting (Object) – 파일 다운로드를 위한 설정 정보
setting.url (String) – 다운로드 파일 url
setting.headers (Object) – http header 정보
setting.parameters (Object) – 다운로드 파라메터 정보
setting.method (String) – 전송 방식 (GET, PUT, POST, DELETE)
setting.directory (String) – 다운로드 폴더
setting.contentType (String) – 컨텐트 타입
setting.timeout (Int) – 타입 아웃 (milliseconds)
setting.encoding (String) – 인코딩 타입
setting.indicator (Bool) – 인디케이터 여부
setting.overwrite (Bool) – 덮어 쓰기 여부
setting.finish (Function) – 파일 다운로드 완료
-
M.net.http.
finish
(statusCode, header, fileInfo, status, error)¶ - Arguments
statusCode (String) – 응답 상태 코드
header (String) – 응답 헤더 정보
fileInfo (String) – 다운로드 파일 정보
status (String) – 다운로드 결과 ( SUCCESS: 성공 코드, FAIL: 실패 코드 )
error (String) – 오류시 메세지
- Arguments
setting.progress (Function) – 파일 업로드 프로그래스
-
progress
(total, current, remaining, percentage)¶ - Arguments
total (String) – 다운로드 파일 사이즈
current (String) – 다운로드된 파일 사이즈
remaining (String) – 남은 파일 사이즈
percentage (String) – 진행률 퍼센트
web server에 있는 파일을 다운로드 한다.
- Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들
mimetype = contentType
dir = directory
path = directory
header = headers
param = parameters
params = parameters
data = parameters
onprogress = progress
onfinish = finish
callback = finish
Example:
M.net.http.download({
url: 'https://s3-ap-northeast-1.amazonaws.com/morpheus-storage/lab/documents/morpheus_2.0_introduce_v1.3.modified.pdf',
indicator: true,
overwrite: true,
progress: function(total, current) {
console.log(total, current);
},
finish: function( statusCode, header, fileInfo, status, error ) {
console.log( statusCode, header, fileInfo, status, error );
if (status == "SUCCESS") {
console.log( JSON.stringify( fileInfo ) );
}
else {
console.log( JSON.stringify( arguments ) );
}
}
});
FTP 파일 리스트¶
-
M.net.ftp.
list
(setting)¶ Changed in version 2.0.0.
- Arguments
setting (Object) – ftp 파일 리스트를 가져오기 위한 설정 정보
setting.url (String) – ftp 접속을 위한 url
setting.port (String) – ftp 접속을 위한 port
setting.acccount (Object) – account 정보
setting.acccount.username (String) – 접속 id
setting.acccount.password (String) – password
setting.target (Object) – 접속할 path
setting.target.serverpath (String) – 접근할 path
setting.finish (Function) – 리스트 호출 완료
-
M.net.ftp.
finish
(resultCode, listInfo, setting)¶ - Arguments
resultCode (String) – 실행 결과 코드
listInfo (Object) – 가져온 file list 정보
setting (Object) – 설정값
- Arguments
setting.progress (Function) – 파일 정보 가져오기 프로그래스
ftp 통신을 통해, 파일 리스트를 가져온다.
- Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들
param = parameters
params = parameters
onprogress = progress
onfinish = finish
callback = finish
Example:
M.net.ftp.list('host', {
port : '21',
account : {
username : '',
password : '',
},
target : {
serverpath : ''
},
finish : function(resultCode, listInfo, setting) {
M.tool.log( resultCode, listInfo );
alert( resultCode + ", " + JSON.stringify(listInfo) );
}
});
FTP 파일 업로드¶
-
M.net.ftp.
upload
(setting)¶ Changed in version 2.0.0.
- Arguments
setting (Object) – ftp로 파일을 업로드 하기 위한 설정 정보
setting.url (String) – ftp 접속을 위한 url
setting.port (String) – ftp 접속을 위한 port
setting.acccount (Object) – account 정보
setting.acccount.username (String) – 접속 id
setting.acccount.password (String) – password
setting.target (Object) – 접속할 path
setting.target.localpath (String) – 단말기의 local path(upload할 file path)
setting.target.serverpath (String) – upload path
setting.finish (Function) – 파일 업로드 완료
-
M.net.ftp.
finish
(resultCode, resultMessage, setting)¶ - Arguments
resultCode (String) – 실행 결과 코드
resultMessage (Object) – 실행 결과 메시지
setting (Object) – 설정값
- Arguments
setting.progress (Function) – 파일 업로드 프로그래스
ftp 통신을 통해, 파일을 업로드 한다.
- Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들
param = parameters
params = parameters
onprogress = progress
onfinish = finish
callback = finish
Example:
M.net.ftp.upload('host', { port : '21', account : { username : 'anonymous', password : '', }, target : { localpath : 'localpath', serverfiles : [ 'server_file0', 'server_file1', ], }, finish : function(resultCode, resultMessage, setting) { if (resultCode == 'SUCCESS') { // TODO : success handle code here } else { // TODO : fail handle code here } } });
FTP 파일 다운로드¶
-
M.net.ftp.
download
(setting)¶ Changed in version 2.0.0.
- Arguments
setting (Object) – ftp로 파일을 download 하기 위한 설정 정보
setting.url (String) – ftp 접속을 위한 url
setting.port (String) – ftp 접속을 위한 port
setting.acccount (Object) – account 정보
setting.acccount.username (String) – 접속 id
setting.acccount.password (String) – password
setting.target (Object) – 접속할 path
setting.target.localpath (String) – 단말기의 local path(download 할 file path)
setting.target.serverpath (String) – download path
setting.finish (Function) – 파일 download 완료
-
M.net.ftp.
finish
(resultCode, resultMessage, setting)¶ - Arguments
resultCode (String) – 실행 결과 코드
resultMessage (Object) – 실행 결과 메시지
setting (Object) – 설정값
- Arguments
setting.progress (Function) – 파일 download 프로그래스
ftp 통신을 통해, 파일을 download 한다.
- Surrogate Keys: 위 옵션키들과 같은 하위 버전 호환을 위한 대체 옵션 값들
param = parameters
params = parameters
onprogress = progress
onfinish = finish
callback = finish
Example:
M.net.ftp.download('host', { port : '21', account : { username : 'anonymous', password : '', }, target : { localpath : 'localpath', serverfiles : [ 'server_file0', 'server_file1', ], }, finish : function(resultCode, resultMessage, setting) { if (resultCode == 'SUCCESS') { // TODO : success handle code here } else { // TODO : fail handle code here } } });
통신 에러 코드(for Android)¶
CODE
Description
9994
네트워크 URL Error
9995
네트워크 통신 중 취소처리
9996
네트워크 연결 에러
9997
통신중 에러 / 통신 내부 에러
9998
네트워크 응답시간 초과 에러
9999
서버에서 리턴된 에러
404
Not found(네트워크 연결 실패)