图片上传阿里云成功,获取图片失败

本文记录了在uni-app微信小程序中遇到的阿里云OSS图片上传失败的问题。问题在于formData中多余的file字段导致上传失败。删除file字段后,图片成功上传并存储在阿里云OSS上。对于遇到类似问题的开发者,这是一个有效的解决办法。
摘要由CSDN通过智能技术生成

问题描述

微信小程序图片上传阿里云成功,但是阿里云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();
					}
				});
			},

点赞 评论 收藏 ~~ 有疑惑的小伙伴,可能是我表达不清楚,可以留言讨论,如有错误,也希望大家不吝指出。 ~~ 点赞 评论 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shaoin_2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值