9***@qq.com
9***@qq.com
  • 发布:2019-09-02 14:30
  • 更新:2021-09-02 11:11
  • 阅读:5780

uni.uploadFile 多图片上传问题

分类:uni-app

uploadImage(){
let files=this.imageList.map((value,index)=>{
return{
name:'image'+index,
uri:value
}
});
console.log(files);
uni.uploadFile({
url: 'http://192.168.31.47:8088/app/fileUploads',
files:files,
filePath: '',
name: '',
formData: {
num:5
},
header: {
'content-type': 'multipart/form-data'
},
success: (res) => {
console.log(res);
}
});
}
后台是springboot 应该怎么接受这个files?
@RequestMapping(value = "/fileUploads", method = RequestMethod.POST)
public String fileUploads(HttpServletRequest request) throws Exception {

        MultipartHttpServletRequest mulReq = (MultipartHttpServletRequest) request;  
        Map<String, MultipartFile> map = mulReq.getFileMap();  

    return "1";  
}  

这个办法获取的map是空的

@RequestMapping(value = "/fileUploads", method = RequestMethod.POST)
public String fileUploads(MultipartFile[] file) throws Exception {

    return "1";  
}  

这个办法的file也是空的

看文档上files应该是一个file对象数组 应该如何接受?

2019-09-02 14:30 负责人:无 分享
已邀请:
9***@qq.com

9***@qq.com (作者) - 大果冻

已解决
@RequestMapping(value = "/fileUploads", method = RequestMethod.POST)
public String fileUploads(MultipartRequest request) throws Exception {
Map<String, MultipartFile> fileMap=request.getFileMap();
// key为前端的name属性,value为上传的对象(MultipartFile)
for (Map.Entry<String, MultipartFile> entry : fileMap.entrySet()) {
System.out.println(entry.getKey()+" "+ entry.getValue());
String fileName = SFTPUtil.upload(entry.getValue());
System.out.println(fileName);
}
return "1";
}
使用真机就可以了

  • 阿瑞

    666、亲测可行

    2021-04-09 10:59

  • 2***@qq.com

    兄弟牛逼!!!!!!!!!

    2022-06-05 18:21

7***@qq.com

7***@qq.com

兄弟 多谢了 你帮我大忙了!

1***@qq.com

1***@qq.com - .

求解h5可以上传,app上传图片为空(要求上传类型为file,h5地址是"blob:http...",app是"file:///...")

// 文件路劲封装  
                    let imgs = this.imgList.map((value, index) => {  
                        return {  
                            name: "img" + index,  
                            url: value  
                        }  
                    });  

                    console.log(imgs)  
                    // console.log(this.imgList[0])  

                    uni.uploadFile({  
                        url: this.baseUrl + '/healthcheckup',  
                        // // #ifdef H5  
                        files: imgs,  
                        // // #endif  
                        formData: formData,  
                        header: {  
                            'customsession': uni.getStorageSync(`sessionId_` + this.theUrl)  
                        },  
                        success: (uploadFileRes) => {  
                            let data = JSON.parse(uploadFileRes.data);  
                            console.log(data);  
                            if (data.success) {  
                                this.$api.msg('提交成功!');  
                                this.goToBack();  
                            } else {  
                                this.showFailReason(data);  
                            }  
                        },  
                        fail: () => {  
                            this.$api.msg('失败!');  
                        },  
                        complete: () => {  
                            this.disabled = false;  
                            uni.hideLoading();  
                        }  
                    });

该问题目前已经被锁定, 无法添加新回复