W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
請(qǐng)參考使用注意事項(xiàng)進(jìn)行開(kāi)發(fā)。
解釋?zhuān)簩⒈镜刭Y源上傳到開(kāi)發(fā)者服務(wù)器,客戶(hù)端發(fā)起一個(gè) HTTPS POST 請(qǐng)求,其中content-type
為
multipart/form-data
如頁(yè)面通過(guò) swan.chooseImage 等接口獲取到一個(gè)本地資源的臨時(shí)文件路徑后,可通過(guò)此接口將本地資源上傳到指定服務(wù)器。
Object object
屬性名 | 類(lèi)型 | 必填 | 默認(rèn)值 | 說(shuō)明 | ||
---|---|---|---|---|---|---|
url |
String |
是 |
開(kāi)發(fā)者服務(wù)器 url |
|||
filePath |
String |
是 |
要上傳文件資源的路徑 |
|||
name |
String |
是 |
文件對(duì)應(yīng)的 key ,開(kāi)發(fā)者在服務(wù)器端通過(guò)這個(gè) key 可以獲取到文件二進(jìn)制內(nèi)容 |
|||
header |
Object |
否 |
HTTP 請(qǐng)求 Header , header 中不能設(shè)置 Referer |
|||
formData |
Object |
否 |
HTTP 請(qǐng)求中其他額外的 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)用成功、失敗都會(huì)執(zhí)行) |
參數(shù) | 類(lèi)型 | 說(shuō)明 |
---|---|---|
data |
String |
開(kāi)發(fā)者服務(wù)器返回的數(shù)據(jù) |
statusCode |
Number |
開(kāi)發(fā)者服務(wù)器返回的 HTTP 狀態(tài)碼 |
錯(cuò)誤碼 | 說(shuō)明 |
---|---|
201 |
解析失敗,請(qǐng)檢查調(diào)起協(xié)議是否合法 |
202 |
解析失敗,請(qǐng)檢查參數(shù)是否正確 |
1001 |
執(zhí)行失敗 |
錯(cuò)誤碼 | 說(shuō)明 |
---|---|
202 |
解析失敗,請(qǐng)檢查參數(shù)是否正確 |
1 |
解析失敗,請(qǐng)檢查參數(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">點(diǎn)擊上傳</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: '請(qǐng)先上傳圖片',
icon: 'none'
});
}
swan.uploadFile({
url: 'https://xxxx', // 僅為示例,并非真實(shí)的接口地址
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'
});
}
});
}
});
返回值:返回一個(gè)uploadTask
對(duì)象,通過(guò)uploadTask
,可監(jiān)聽(tīng)上傳進(jìn)度變化事件,以及取消上傳任務(wù)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: