项目场景:
在uniapp+vue3+APP中上传文件
问题描述
在uniapp中上传文件(FormData)发现uni.request不支持FormData
const formData = new FormData()
formData.append('avatarfile', data)
原因分析:
uni.request
请求发送格式Object|String|ArrayBuffer三种格式
解决方案:
uniapp也给了解决办法uni.uploadFile(OBJECT)
filePath是图片文件路径
name是FormData字段(avatarfile)
formData是file文件数据
这里就不使用FormData
文章来源:https://www.toymoban.com/news/detail-517022.html
const formData = new FormData()
formData.append('avatarfile', data)
这里借用chooseImage获取tempFilePaths
,tempFiles
文章来源地址https://www.toymoban.com/news/detail-517022.html
uni.chooseImage({
count: 1, //默认9
sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], //从相册选择
success: function(res) {
const uploadTask = uni.uploadFile({
url: action,
filePath: res.tempFilePaths[0],
name: 'avatarfile', // 在FormData 中文件对应的属性名
formData: res.tempFiles[0], // 除文件外其他所有数据,传对象,会默认转换为 FormData
header: uploadHeader,
success: res => {
if (parseInt(res.data.code) === 200) {
toast.value.show({
title: '修改成功!',
type: 'success',
position: 'top'
});
userStore.GetInfo();
} else {
toast.value.show({
title: '修改失败!',
type: 'error',
position: 'top'
});
}
}
});
}
});
到了这里,关于uniapp开发App上传formData文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!