百度智能小程序 本地資源上傳

2020-09-05 14:09 更新

swan.uploadFile

請(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ù)器。

方法參數(shù)

Object object

object 參數(shù)說(shuō)明

屬性名 類(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í)行)

success 返回參數(shù)說(shuō)明

參數(shù) 類(lèi)型 說(shuō)明

data

String

開(kāi)發(fā)者服務(wù)器返回的數(shù)據(jù)

statusCode

Number

開(kāi)發(fā)者服務(wù)器返回的 HTTP 狀態(tài)碼

fail 返回值參數(shù)說(shuō)明

  • Android
    錯(cuò)誤碼 說(shuō)明

    201

    解析失敗,請(qǐng)檢查調(diào)起協(xié)議是否合法

    202

    解析失敗,請(qǐng)檢查參數(shù)是否正確

    1001

    執(zhí)行失敗

  • iOS
    錯(cuò)誤碼 說(shuō)明

    202

    解析失敗,請(qǐng)檢查參數(shù)是否正確

    1

    解析失敗,請(qǐng)檢查參數(shù)是否正確

示例 

在開(kāi)發(fā)者工具中打開(kāi)


圖片示例



代碼示例

<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ù)。

Bug & Tip

  • uploadFile 上傳文件大小限制為 25M 。


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)