使用uniapp进行多张图片上传

<uni-section title="上传图片" type="line" padding subTitle="最多三张哦!">
		<uni-file-picker :limit="3" fileMediatype="image" multiple @select="uploadImage"
		v-model="commodity.imageUrl" :value="commodity.imageUrl"></uni-file-picker>
</uni-section>

多张图片进行上传时进行了  forEach 循环来进行 使用 uni.uploadFile 这个API来进行图片上传

const commodity = reactive({
		imageUrl: []
	})
const uploadImage = (e) => {
		e.tempFilePaths.forEach(filePath => {
			uni.uploadFile({
				url: `https://xxx/xxx/xxx`,  // 这里替换成真实的上传接口
				filePath: filePath,          // 这里是拿到的每一张本地图片
				name: 'imageFile',           // 这里是 与 后端 协商好的名字
				formData: {},                // 这里可以携带一些表单数据
				header: {                    // 设置请求头参数
					'token': uni.getStorageSync('token'),
					'tenantId': uni.getStorageSync('nowTenantId') || '',
					"Content-Type": "multipart/form-data",
				},
				success: (res) => {
                    // 这里是因为在编辑时你删除了之前的图片 如果不进行这样的在提交时就会格式错误最后页面的图片就会显示不出来。
                    // 如果不需要修改就直接给你的响应式数据 不需要下面的操作
					let result = JSON.parse(res.data);
					const urls = result.data.split(',');
					urls.forEach(url => {
						commodity.imageUrl.push({
							url: url.trim()
						});
					});
				},
				fail: (error) => {
					console.log('上传失败', error);
				}
			});
		});
	}

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值