W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
請參考使用注意事項進行開發(fā)。
解釋:將本地資源上傳到開發(fā)者服務器,客戶端發(fā)起一個 HTTPS POST 請求,其中content-type
為
multipart/form-data
如頁面通過 swan.chooseImage 等接口獲取到一個本地資源的臨時文件路徑后,可通過此接口將本地資源上傳到指定服務器。
Object object
屬性名 | 類型 | 必填 | 默認值 | 說明 | ||
---|---|---|---|---|---|---|
url |
String |
是 |
開發(fā)者服務器 url |
|||
filePath |
String |
是 |
要上傳文件資源的路徑 |
|||
name |
String |
是 |
文件對應的 key ,開發(fā)者在服務器端通過這個 key 可以獲取到文件二進制內(nèi)容 |
|||
header |
Object |
否 |
HTTP 請求 Header , header 中不能設置 Referer |
|||
formData |
Object |
否 |
HTTP 請求中其他額外的 form data |
|||
success |
Function |
否 |
接口調(diào)用成功的回調(diào)函數(shù) |
|||
fail |
Function |
否 |
接口調(diào)用失敗的回調(diào)函數(shù) |
|||
complete |
Function |
否 |
接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
參數(shù) | 類型 | 說明 |
---|---|---|
data |
String |
開發(fā)者服務器返回的數(shù)據(jù) |
statusCode |
Number |
開發(fā)者服務器返回的 HTTP 狀態(tài)碼 |
錯誤碼 | 說明 |
---|---|
201 |
解析失敗,請檢查調(diào)起協(xié)議是否合法 |
202 |
解析失敗,請檢查參數(shù)是否正確 |
1001 |
執(zhí)行失敗 |
錯誤碼 | 說明 |
---|---|
202 |
解析失敗,請檢查參數(shù)是否正確 |
1 |
解析失敗,請檢查參數(shù)是否正確 |
<view class="wrap">
<view class="card-area">
<view class="display-area">
<view s-if="{{filePath}}" bindtap="chooseImage">
<image class="image-items" src="{{filePath}}" mode="aspectFit"></image>
</view>
<view s-else bindtap="chooseImage">
<image class="img" src="https://b.bdstatic.com/searchbox/icms/searchbox/img/plus.png" rel="external nofollow" ></image>
<view class="title">添加圖片文件</view>
</view>
</view>
<view class="button-area">
<button type="primary" bindtap="uploadFile">點擊上傳</button>
</view>
</view>
</view>
Page({
data: {
filePath: ''
},
chooseImage() {
swan.chooseImage({
count: 1,
sizeType: ['compressed'],
sourceType: ['album'],
success: res => {
this.setData('filePath', res.tempFilePaths[0]);
}
});
},
uploadFile() {
const filePath = this.getData('filePath');
if (!filePath) {
swan.showToast({
title: '請先上傳圖片',
icon: 'none'
});
}
swan.uploadFile({
url: 'https://xxxx', // 僅為示例,并非真實的接口地址
filePath,
name: 'myfile',
header: {
'content-type': 'multipart/form-data'
},
formData: {
'user': 'test'
},
success: res => {
swan.showToast({
title: '上傳成功',
icon: 'none'
});
console.log('uploadFile success', res);
this.setData({filePath});
},
fail: err => {
console.log('uploadFile fail', err);
swan.showToast({
title: '上傳失敗',
icon: 'none'
});
}
});
}
});
返回值:返回一個uploadTask
對象,通過uploadTask
,可監(jiān)聽上傳進度變化事件,以及取消上傳任務。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: