《微信小程序开发从入门到实战》学习七十
6.6 网络API
6.6.4 上传文件API
用wx.uploadFile接口使小程序发起HTTPS POST请求,上传文件到服务端。该接口接受一个人Object入参。参属性如下:
url: (必填)上传文件到服务器的URL,
filePath: (必填)要上传的文件路径,
name:(必填)文件对应的key,开发者在服务端可以通过这个key获取文件的二进制内容,
formData:HTTP请求中其他额外的form data
header: 设置请求的Header,Header中不能设置Referer
success:
fail: (res) => {},
complete: (res) => {},
上传文件时,HTTP请求中的content-type会被设置为multipart/form-data。可以使用formData项服务端传送一些其他的数据。
success回调函数的data代表开发者从服务器返回到数据。
上传文件API会返回一个UploadTask对象。使用方法与DownloadTask完全一样。示例代码如下:
// 先使用选择图片API获取一张本地照片的路径
wx.chooseImage({
success(res) {
// res.tempFilePaths为一个数组,其中保存了选择的照片文件的临时路径
const tempFilePaths = res.tempFilePaths
// 上传第一张图片
const uploadFileTask = wx.uploadFile({
url: 'url',
filePath: 'filePath',
name: 'name',
formData: {
'user': 'test'
},
header: header,
timeout: 0,
success: (result) => {
if (result.statusCode === 200) {
const data = res.data
// do something
}
},
fail: (res) => {},
complete: (res) => {},
})
}
})