上传

最近更新时间:2023-10-20 15:19:17

我的收藏

uploadFile

该 API 使用方法为 UploadTask wx.uploadFile(Object object)
功能说明:将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-typemultipart/form-data。使用前请注意阅读 相关说明。·
参数及说明:Object object。
属性
类型
默认值
必填
说明
url
string
-
开发者服务器址
filePath
string
-
要上传文件资源的路径 (本地路径)
name
string
-
文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容
header
object
-
HTTP 请求 Header,Header 中不能设置 Referer
formData
object
-
HTTP 请求中其他额外的 form data
success
function
-
接口调用成功的回调函数
fail
function
-
接口调用失败的回调函数
complete
function
-
接口调用结束的回调函数(调用成功、失败都会执行)
object.success 回调函数参数:Object res。
属性
类型
说明
data
string
开发者服务器返回的数据
statusCode
number
开发者服务器返回的 HTTP 状态码
返回值:UploadTask,一个可以监听上传进度进度变化的事件和取消上传的对象。
示例代码:
wx.chooseImage({
success (res) {
const tempFilePaths = res.tempFilePaths
wx.uploadFile({
url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: 'file',
formData: {
'user': 'test'
},
success (res){
const data = res.data
//do something
}
})
}
})

UploadTask

.abort

该 方法 使用方式为 UploadTask.abort()
功能说明:中断上传任务。

.onProgressUpdate

该 方法 使用方式为 UploadTask.onProgressUpdate(function listener)
功能说明:监听上传进度变化事件。
参数及说明:function listener,上传进度变化事件的监听函数。
属性
类型
说明
progress
number
下载进度百分比
totalBytesWritten
number
已经下载的数据长度,单位 Bytes
totalBytesExpectedToWrite
number
预期需要下载的数据总长度,单位 Bytes

.offProgressUpdate

该 方法 使用方式为 UploadTask.offProgressUpdate(function listener)
功能说明:移除上传进度变化事件的监听函数。
参数及说明:function listener,onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。
示例代码
const listener = function (res) { console.log(res) }

DownloadTask.onProgressUpdate(listener)
DownloadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象

.onHeadersReceived

该 方法 使用方式为 UploadTask.onHeadersReceived(function listener)
功能说明:监听 HTTP Response Header 事件。会比请求完成事件更早。
参数及说明:function listener,HTTP Response Header 事件的监听。
属性
类型
说明
header
Object
开发者服务器返回的 HTTP Response Header

.offHeadersReceived

该 方法 使用方式为 UploadTask.offHeadersReceived(function listener)
功能说明:移除 HTTP Response Header 事件的监听函数。
参数及说明:function listener,onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。
示例代码
const listener = function (res) { console.log(res) }

UploadTask.onHeadersReceived(listener)
UploadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象

示例代码

const uploadTask = wx.uploadFile({
url: 'http://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: 'file',
formData:{
'user': 'test'
},
success (res){
const data = res.data
//do something
}
})

uploadTask.onProgressUpdate((res) => {
console.log('上传进度', res.progress)
console.log('已经上传的数据长度', res.totalBytesSent)
console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend)
})

uploadTask.abort() // 取消上传任务