问题描述
微信小程序图片上传阿里云成功,但是阿里云oss中并没有存储图片。
问题代码:
uploadFile(file,data){
var filename = new Date().getTime();
console.log(data)
var formData={
key: data.dir +'/'+ filename, // 文件名
policy: data.policy,
OSSAccessKeyId: data.accessId, //后台获取临时ID
success_action_status: '200', //让服务端返回200,不然,默认会返回204
Signature: data.signature ,//后台获取签名
file:file.path,
}
console.log(formData)
uni.uploadFile({
url: data.host, //后台返回的阿里云存储的上传地址
filePath:file.path,
fileType: "image",
name: 'file',
formData:formData,
success: res => {
uni.hideLoading();
this.requestDatas.repairPhoto.push(data.dir +'/'+ filename)
console.log(data.host + '/'+ data.dir +'/'+ filename) // 返回保存在阿里oss上的地址
},
fail: err => {
console.log(err)
uni.hideLoading();
}
});
},
问题解决
原来是上传的formData中的file字段内容有问题。将file字段删除即可。
uploadFile(file,data){
var filename = new Date().getTime();
console.log(data)
var formData={
key: data.dir +'/'+ filename, // 文件名
policy: data.policy,
OSSAccessKeyId: data.accessId, //后台获取临时ID
success_action_status: '200', //让服务端返回200,不然,默认会返回204
Signature: data.signature ,//后台获取签名
}
console.log(formData)
uni.uploadFile({
url: data.host, //后台返回的阿里云存储的上传地址
filePath:file.path,
fileType: "image",
name: 'file',
formData:formData,
success: res => {
uni.hideLoading();
this.requestDatas.repairPhoto.push(data.dir +'/'+ filename)
console.log(data.host + '/'+ data.dir +'/'+ filename) // 返回保存在阿里oss上的地址
},
fail: err => {
console.log(err)
uni.hideLoading();
}
});
},
点赞 评论 收藏 ~~ 有疑惑的小伙伴,可能是我表达不清楚,可以留言讨论,如有错误,也希望大家不吝指出。 ~~ 点赞 评论 收藏