# [uploader]()
Uploader模塊管理網絡上傳,用于從本地上傳各種文件到網絡,支持跨域訪問操作。通過plus.uploader可獲取上傳管理對象。
### 方法:
- [createUpload](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.createUpload): 新建上傳任務
- [enumerate](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.enumerate): 枚舉應用的所有上傳任務
- [clear](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.clear): 清除上傳任務
- [startAll](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.startAll): 開始所有上傳任務
### 對象:
- [Upload](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload): Upload對象用于管理單個上傳任務
- [UploadState](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadState): 上傳任務的狀態,Number類型
- [UploadOption](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadOption): JSON對象,創建上傳任務的參數
- [UploadFileOption](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadFileOption): JSON對象,創建上傳文件選項的參數
### 回調方法:
- [UploadCompletedCallback](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadCompletedCallback): 上傳任務完成時的回調函數
- [UploadStateChangedCallback](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadStateChangedCallback): 上傳任務狀態變化回調函數,在上傳任務狀態發生變化時調用
- [UploadEnumerateCallback](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadEnumerateCallback): 枚舉上傳任務回調函數,在枚舉上傳任務完成時時調用
### 權限:
permissions
~~~
"Uploader": {
"description": "管理上傳任務"
}
~~~
# [createUpload]()
新建上傳任務
~~~
Upload plus.uploader.createUpload( url, option, completedCB );
~~~
### 說明:
請求上傳管理創建新的上傳任務。
### 參數:
- url: *( DOMString ) 必選 *要上傳文件的目標地址
必須是支持http協議的服務器地址
- option: *( [UploadOption](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadOption) ) 可選 *上傳任務的參數
- completedCB: *( [UploadCompletedCallback](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadCompletedCallback) ) 可選 *上傳任務完成后的回調函數
### 返回值:
[Upload](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload) : Upload對象
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Uploader Example</title>
<script type="text/javascript" >
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
var r = null;
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
}
// 創建上傳任務
function createUpload() {
var task = plus.uploader.createUpload( "http://www.test.com/upload.do",
{ method:"POST",blocksize:204800,priority:100 },
function ( t, status ) {
// 上傳完成
if ( status == 200 ) {
alert( "Upload success: " + t.url );
} else {
alert( "Upload failed: " + status );
}
}
);
task.addFile( "_www/a.doc", {key:"testdoc"} );
task.addData( "string_key", "string_value" );
//task.addEventListener( "statechanged", onStateChanged, false );
task.start();
}
</script>
</head>
<body >
<input id="upload" type="button" value="Create upload task" onclick="createUpload();" ></input>
</body>
</html>
~~~
# [enumerate]()
枚舉應用的所有上傳任務
~~~
plus.uploader.enumerate( enumCB, state );
~~~
### 說明:
枚舉指定狀態的上傳任務列表。枚舉操作完成后通過enumCB回調返回結果。
### 參數:
- enumCB: *( [UploadEnumerateCallback](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadEnumerateCallback) ) 必選 *枚舉操作完成后的回調函數
- state: *( [UploadState](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadState) ) 可選 *要枚舉上傳任務的狀態
默認值為所有未完成的上傳任務。
### 返回值:
void : 無
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Uploader Example</title>
<script type="text/javascript" >
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
var r = null;
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
plus.uploader.enumerate( function ( tasks ) {
alert( "Unfinished task count: " + tasks.length );
} );
}
</script>
</head>
<body >
Enumerate all unfinished upload task.
</body>
</html>
~~~
# [clear]()
清除上傳任務
~~~
plus.uploader.clear( state );
~~~
### 說明:
清除指定狀態的上傳任務。
### 參數:
- state: *( [UploadState](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadState) ) 可選 *要清除上傳任務的狀態
默認值為所有已完成的上傳任務。
### 返回值:
void : 無
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Uploader Example</title>
<script type="text/javascript" >
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
var r = null;
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
plus.uploader.clear();
}
</script>
</head>
<body >
Clear all finished upload task.
</body>
</html>
~~~
# [startAll]()
開始所有上傳任務
~~~
plus.uploader.startAll();
~~~
### 說明:
開始所有處于暫停狀態的上傳任務。若上傳任務數超過可并發處理的總數,超出的任務處于調度狀態(等待上傳),當有任務完成時根據調度狀態任務的優先級選擇任務開始上傳。
### 參數:
無
### 返回值:
void : 無
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Uploader Example</title>
<script type="text/javascript" >
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
var r = null;
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
plus.uploader.startAll();
}
</script>
</head>
<body >
Start upload task.
</body>
</html>
~~~
# [Upload]()
Upload對象用于管理單個上傳任務
### 屬性:
- [url](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.url): 上傳文件的服務器地址
- [state](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.state): 任務的狀態
- [options](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.options): 上傳任務的參數
- [responseText](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.responseText): 上傳任務完成后服務器返回的數據
- [uploadedSize](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.uploadedSize): 已完成上傳文件的大小,單位為字節(byte)
- [totalSize](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.totalSize): 上傳任務文件的總大小,單位為字節(byte)
### 方法:
- [addFile](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.addFile): 添加上傳文件
- [addData](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.addData): 添加上傳數據
- [start](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.start): 開始上傳任務
- [pause](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.pause): 停止上傳任務
- [resume](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.resume): 恢復上傳任務
- [abort](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.abort): 取消上傳任務
- [addEventListener](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload.addEventListener): 添加上傳任務事件監聽器
# [url]()
上傳文件的服務器地址
~~~
upload.url;
~~~
### 說明:
DOMString 類型 只讀屬性
上傳任務的服務器地址,在創建任務時設置的值。
# [state]()
任務的狀態
~~~
upload.state;
~~~
### 說明:
Number 類型 只讀屬性
上傳任務的狀態,參考UploadState,在UploadCompleteCallback事件和UploadStateChangedCallback事件觸發時更新。
# [options]()
上傳任務的參數
~~~
upload.options;
~~~
### 說明:
[UploadOption](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadOption) 類型 只讀屬性
上傳任務配置的參數,參考UploadOption。
# [responseText]()
上傳任務完成后服務器返回的數據
~~~
upload.responseText;
~~~
### 說明:
DOMString 類型 只讀屬性
上傳任務完成后服務器返回的數據,在UploadCompleteCallback事件和UploadStateChangedCallback事件觸發時更新。
# [uploadedSize]()
已完成上傳文件的大小,單位為字節(byte)
~~~
upload.UploadedSize;
~~~
### 說明:
Number 類型 只讀屬性
上傳任務已完成上傳文件的大小,在UploadCompleteCallback事件和UploadStateChangedCallback事件觸發時更新。
# [totalSize]()
上傳任務文件的總大小,單位為字節(byte)
~~~
upload.totalSize;
~~~
### 說明:
Number 類型 只讀屬性
上傳任務要上傳文件的總大小,在UploadCompleteCallback事件和UploadStateChangedCallback事件觸發時更新。
# [addFile]()
添加上傳文件
~~~
Boolean upload.addFile( path, option );
~~~
### 說明:
向上傳任務中添加文件,必須在任務開始上傳前調用。若指定的key在任務中已經存在則會添加失敗,返回false。若添加的文件路徑不合法或指定文件不存在,則任務添加操作失敗,返回false。若任務已經開始上傳,再次調用則會操作失敗。
### 參數:
- path: *( DOMString ) 必選 *要添加上傳文件的路徑
- option: *( [UploadFileOption](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadFileOption) ) 必選 *要添加上傳文件的參數
### 返回值:
Boolean : 添加成功則返回true,添加失敗則返回false。
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Uploader Example</title>
<script type="text/javascript" >
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
var r = null;
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
}
// 創建上傳任務
function createUpload() {
var task = plus.uploader.createUpload( "http://www.test.com/upload.do", {}, function ( t, status ) {
// 上傳完成
if ( status == 200 ) {
alert( "Upload success: " + t.url );
} else {
alert( "Upload failed: " + status );
}
});
task.addFile( "_www/a.doc", {key:"testdoc"} );
task.addData( "string_key", "string_value" );
//task.addEventListener( "statechanged", onStateChanged, false );
task.start();
}
</script>
</head>
<body >
<input id="upload" type="button" value="Create upload task" onclick="createUpload();" ></input>
</body>
</html>
~~~
# [addData]()
添加上傳數據
~~~
Boolean upload.addData( key, value );
~~~
### 說明:
向上傳任務中添加數據,必須在任務開始上傳前調用。若指定的key在任務中已經存在則會添加失敗,返回false。若任務已經開始上傳,再次調用則會操作失敗。
### 參數:
- key: *( DOMString ) 必選 *要添加上傳數據的鍵名
- value: *( DOMString ) 必選 *要添加上傳數據的鍵值
### 返回值:
Boolean : 添加成功則返回true,添加失敗則返回false。
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Uploader Example</title>
<script type="text/javascript" >
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
var r = null;
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
}
// 創建上傳任務
function createUpload() {
var task = plus.uploader.createUpload( "http://www.test.com/upload.do", {}, function ( t, status ) {
// 上傳完成
if ( status == 200 ) {
alert( "Upload success: " + t.url );
} else {
alert( "Upload failed: " + status );
}
});
task.addFile( "_www/a.doc", {key:"testdoc"} );
task.addData( "string_key", "string_value" );
//task.addEventListener( "statechanged", onStateChanged, false );
task.start();
}
</script>
</head>
<body >
<input id="upload" type="button" value="Create upload task" onclick="createUpload();" ></input>
</body>
</html>
~~~
# [start]()
開始上傳任務
~~~
upload.start();
~~~
### 說明:
開始上傳任務,如果任務已經處于開始狀態則無任何響應。通常在創建任務或任務失敗后重新開始。
### 參數:
無
### 返回值:
void : 無
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Uploader Example</title>
<script type="text/javascript" >
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
var r = null;
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
}
// 創建上傳任務
function createUpload() {
var task = plus.uploader.createUpload( "http://www.test.com/upload.do", {}, function ( t, status ) {
// 上傳完成
if ( status == 200 ) {
alert( "Upload success: " + t.url );
} else {
alert( "Upload failed: " + status );
}
});
task.addFile( "_www/a.doc", {key:"testdoc"} );
task.addData( "string_key", "string_value" );
//task.addEventListener( "statechanged", onStateChanged, false );
task.start();
}
</script>
</head>
<body >
<input id="upload" type="button" value="Create upload task" onclick="createUpload();" ></input>
</body>
</html>
~~~
# [pause]()
停止上傳任務
~~~
upload.pause();
~~~
### 說明:
停止上傳任務,如果任務已經處于初始狀態或暫停狀態則無任何響應。通常在任務已開始后暫停任務。
### 參數:
無
### 返回值:
void : 無
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Uploader Example</title>
<script type="text/javascript" >
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
var task = null;
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
}
// 創建上傳任務
function createUpload() {
var task = plus.uploader.createUpload( "http://www.test.com/upload.do", {}, function ( t, status ) {
// 上傳完成
if ( status == 200 ) {
alert( "Upload success: " + t.url );
} else {
alert( "Upload failed: " + status );
}
});
task.addFile( "_www/a.doc", {key:"testdoc"} );
task.addData( "string_key", "string_value" );
//task.addEventListener( "statechanged", onStateChanged, false );
task.start();
}
// 暫停上傳任務
function pauseUpload() {
task.pause();
}
</script>
</head>
<body >
<input type="button" value="Create upload task" onclick="createUpload();" ></input>
<input type="button" value="Pause upload task" onclick="pauseUpload();" ></input>
</body>
</html>
~~~
# [resume]()
恢復上傳任務
~~~
upload.resume();
~~~
### 說明:
恢復上傳任務,當任務暫停后調用此方法繼續上傳操作。當任務不處于暫停狀態,調用此方法將無任何作用。
### 參數:
無
### 返回值:
void : 無
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Uploader Example</title>
<script type="text/javascript" >
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
var task = null;
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
}
// 創建上傳任務
function createUpload() {
var task = plus.uploader.createUpload( "http://www.test.com/upload.do", {}, function ( t, status ) {
// 上傳完成
if ( status == 200 ) {
alert( "Upload success: " + t.url );
} else {
alert( "Upload failed: " + status );
}
});
task.addFile( "_www/a.doc", {key:"testdoc"} );
task.addData( "string_key", "string_value" );
//task.addEventListener( "statechanged", onStateChanged, false );
task.start();
}
// 暫停上傳任務
function pauseUpload() {
task.pause();
}
// 恢復上傳任務
function resumeUpload() {
task.resume();
}
</script>
</head>
<body >
<input type="button" value="Create upload task" onclick="createUpload();" ></input>
<input type="button" value="Pause upload task" onclick="pauseUpload();" ></input>
<input type="button" value="Resume upload task" onclick="resumeUpload();" ></input>
</body>
</html>
~~~
# [abort]()
取消上傳任務
~~~
upload.abort();
~~~
### 說明:
取消上傳任務,如果任務已經取消則無任何響應。如果任務未完成,將刪除已上傳的臨時文件。如果任務已完成,將不刪除已上傳的文件。
### 參數:
無
### 返回值:
void : 無
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Uploader Example</title>
<script type="text/javascript" >
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
var task = null;
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
}
// 創建上傳任務
function createUpload() {
var task = plus.uploader.createUpload( "http://www.test.com/upload.do", {}, function ( t, status ) {
// 上傳完成
if ( status == 200 ) {
alert( "Upload success: " + t.url );
} else {
alert( "Upload failed: " + status );
}
});
task.addFile( "_www/a.doc", {key:"testdoc"} );
task.addData( "string_key", "string_value" );
//task.addEventListener( "statechanged", onStateChanged, false );
task.start();
}
// 暫停上傳任務
function pauseUpload() {
task.pause();
}
// 取消上傳任務
function abortUpload() {
task.pause();
}
</script>
</head>
<body >
<input type="button" value="Create upload task" onclick="createUpload();" ></input>
<input type="button" value="Pause upload task" onclick="pauseUpload();" ></input>
<input type="button" value="Abort upload task" onclick="abortUpload();" ></input>
</body>
</html>
~~~
# [addEventListener]()
添加上傳任務事件監聽器
~~~
upload.addEventListener( type, listener, capture );
~~~
### 說明:
上傳任務添加事件監聽器后,當任務事件發生時觸發。
### 參數:
- type: *( DOMString ) 必選 *事件類型
- listener: *( DOMString ) 必選 *事件監聽器回調函數
- capture: *( Boolean ) 可選 *事件流處理順序,暫不支持
### 返回值:
void : 無
### 示例:
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Uploader Example</title>
<script type="text/javascript" >
// 擴展API加載完畢后調用onPlusReady回調函數
document.addEventListener( "plusready", onPlusReady, false );
var task = null;
// 擴展API加載完畢,現在可以正常調用擴展API
function onPlusReady() {
}
// 監聽上傳任務狀態
function onStateChanged( upload, status ) {
if ( upload.state == 4 && status == 200 ) {
// 上傳完成
alert( "Upload success: " + upload.getFileName() );
}
}
// 創建上傳任務
function createUpload() {
var task = plus.uploader.createUpload( "http://www.test.com/upload.do" );
task.addFile( "_www/a.doc", {key:"testdoc"} );
task.addData( "string_key", "string_value" );
task.addEventListener( "statechanged", onStateChanged, false );
task.start();
}
// 暫停上傳任務
function pauseUpload() {
task.pause();
}
// 取消上傳任務
function abortUpload() {
task.pause();
}
</script>
</head>
<body >
<input type="button" value="Create upload task" onclick="createUpload();" ></input>
<input type="button" value="Pause upload task" onclick="pauseUpload();" ></input>
<input type="button" value="Abort upload task" onclick="abortUpload();" ></input>
</body>
</html>
~~~
# [UploadState]()
上傳任務的狀態,Number類型
### 屬性:
- [0](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadState.0): 初始狀態,在創建之后觸發此狀態事件,上傳任務處于可調度狀態
- [1](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadState.1): 上傳任務開始處理,開始建立網絡連接
- [2](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadState.2): 上傳任務請求已經接收,網絡連接已建立
- [3](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadState.3): 上傳任務請求處理中,上傳過程中不斷觸發
- [4](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadState.4): 上傳任務已完成(成功或失敗)
- [5](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadState.5): 上傳任務暫停狀態,可重新開始
- [-1](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadState.-1): 非任務狀態,用于enumerate()和clear()操作所有上傳任務
# [0]()
初始狀態,在創建之后觸發此狀態事件,上傳任務處于可調度狀態
### 說明:
number 類型
# [1]()
上傳任務開始處理,開始建立網絡連接
### 說明:
number 類型
# [2]()
上傳任務請求已經接收,網絡連接已建立
### 說明:
number 類型
# [3]()
上傳任務請求處理中,上傳過程中不斷觸發
### 說明:
number 類型
# [4]()
上傳任務已完成(成功或失敗)
### 說明:
number 類型
# [5]()
上傳任務暫停狀態,可重新開始
### 說明:
number 類型
# [-1]()
非任務狀態,用于enumerate()和clear()操作所有上傳任務
### 說明:
number 類型
# [UploadOption]()
JSON對象,創建上傳任務的參數
### 屬性:
- [method](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadOption.method): 網絡請求類型,必須是http協議的“POST”
- [blocksize](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadOption.blocksize): 上傳任務每次上傳的文件塊大小(僅在支持斷點續傳的服務有效),單位為字節,默認值為102400,若設置值小于等于0則表示不分塊上傳
- [priority](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadOption.priority): 上傳任務的優先級,數值越大優先級越高
- [timeout](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadOption.timeout): 上傳任務超時時間,單位為s,默認為120s
- [retry](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadOption.retry): 上傳任務重試次數,默認為3次
# [method]()
網絡請求類型,必須是http協議的“POST”
### 說明:
DOMString 類型
# [blocksize]()
上傳任務每次上傳的文件塊大小(僅在支持斷點續傳的服務有效),單位為字節,默認值為102400,若設置值小于等于0則表示不分塊上傳
### 說明:
number 類型
# [priority]()
上傳任務的優先級,數值越大優先級越高
### 說明:
number 類型
# [timeout]()
上傳任務超時時間,單位為s,默認為120s
### 說明:
number 類型
# [retry]()
上傳任務重試次數,默認為3次
### 說明:
number 類型
# [UploadFileOption]()
JSON對象,創建上傳文件選項的參數
### 屬性:
- [key](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadFileOption.key): 文件標識
- [name](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadFileOption.name): 文件名稱
- [mime](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.UploadFileOption.mime): 文件類型
# [key]()
文件標識
### 說明:
DOMString 類型
不設置則自動取文件名稱,一個上傳任務中如果添加相同key的上傳字段將導致添加失敗。
# [name]()
文件名稱
### 說明:
DOMString 類型
不設置則自動取本地文件名稱。
# [mime]()
文件類型
### 說明:
DOMString 類型
不設置則自動根據文件后綴名稱生成。
# [UploadCompletedCallback]()
上傳任務完成時的回調函數
~~~
void uploadCompleted( Upload upload, Number status ) {
// File upload completed code.
}
~~~
### 說明:
在上傳任務完成時調用,上傳任務失敗也將觸發此回調。
### 參數:
- upload: *( [Upload](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload) ) 必選 *上傳任務對象
- status: *( Number ) 必選 *Http傳輸協議狀態碼
如果未獲取傳輸狀態則其值則為0,如上傳成功其值通常為200。
### 返回值:
void : 無
# [UploadStateChangedCallback]()
上傳任務狀態變化回調函數,在上傳任務狀態發生變化時調用
~~~
void onStateChanged( Upload upload, status ) {
// Upload state changed code.
}
~~~
### 參數:
- upload: *( [Upload](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload) ) 必選 *上傳任務對象
- status: *( Number ) 必選 *Http傳輸協議狀態碼
如果未獲取傳輸狀態則其值則為0,如上傳成功其值通常為200。
### 返回值:
void : 無
# [UploadEnumerateCallback]()
枚舉上傳任務回調函數,在枚舉上傳任務完成時時調用
~~~
void onEnumerated( Upload[] uploads ) {
// Upload enumerate completed code.
}
~~~
### 參數:
- uploads: *( [Upload](http://www.dcloud.io/docs/api/zh_cn/uploader.shtml#plus.uploader.Upload) ) 必選 *枚舉到的上傳任務對象數組
### 返回值:
void : 無
- API參考
- Accelerometer
- Audio
- Camera
- Contacts
- Device
- Downloader
- Events
- Gallery
- Geolocation
- IO
- Key
- Messaging
- NativeUI
- Navigator
- Orientation
- Proximity
- SplashScreen
- Storage
- UI
- Uploader
- InterfaceOrientation
- Runtime
- WebView
- XMLHttpRequest
- Zip
- Plugins
- Barcode
- Maps
- Payment
- Push
- Share
- Speech
- Statistic
- Native.js
- Android
- iOS