uniapp uploadFile多文件上传

uniapp uploadFile多文件上传

问题描述:在写app项目得时候遇到使用uni.uploadFile上传多文件,会报错如下

uploadFile:fail undefined is not an object (evaluating 'e.indexOf') 

经过短暂的观察,发现是因为上传的文件格式不对,需要对其进行稍微改造如下

uni.chooseImage({
					sourceType: sourceType[this.sourceTypeIndex],
					sizeType: sizeType[this.sizeTypeIndex],
					count: this.count,
					success: res => {
						const files = res.tempFiles;
						let imgArr = [];
						for (let i = 0; i < files.length; i++) {
							let obj = new Object();
							obj.name = 'img' + i;
							obj.uri = files[i].path;
							imgArr.push(obj);
						}
						this.params.imageList = this.imageList.concat(res.tempFilePaths);
						// 图片上传
						uni.uploadFile({
							url: FILE_BASE_URL + 'common/uploadMore',
							files: imgArr,
							fileType: "image",
							success: uploadFileRes => {
								if (uploadFileRes.statusCode === 200) {
									uni.showToast({
										title: '上传成功',
										icon: 'none'
									});
									var dataResult = JSON.parse(uploadFileRes.data).data;
									dataResult.forEach(res => {
										this.params.submitImage.push(res);
									});
									console.log('要提交图片', this.params.submitImage);
									this.$emit('handleUploadSuccess', this.params);
								} else {
									uni.showToast({
										title: '上传失败',
										icon: 'none'
									});
								}
							},
							fail() {
								uni.showToast({
									title: '上传失败',
									icon: 'none'
								});
								uni.hideLoading();
							}
						});

如图所示,关键代码为
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值