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();
							}
						});

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐