在这里受uniapp官方的 反馈模版 中上传多个图片逻辑的启发, 向大家分享一下如何用java曲线救国地接收多个文件(提示: 目前此种方式只在uniapp的app端适用, 网页和小程序不适用).
前端代码,这里是将多图片的临时文件路径保存在imageList[ ]数组中:
选择图片这里将imageList[ ]映射成一个新的对象数组imgs[], 而对象数组中存放的就是一个个file对象{ name: "image0" , uri: " 临时图片路径xxx/xxx.png " }. 最后将imgs也就是files数组上传到后端:
上传图片这里后端本来打算用MultipartFile[ ] files来接收多个文件的,但一直收不到,使用postman测试可以收多个图片, 这里就只能使用这种方法了:
后端接收图片这里我在手机app端上传了5张图片, 控制台打印出了每个源文件名:
控制台另一种方法, 使用MuitpartRequest来读取文件:(这里是使用getFiles()也是获取不到文件数组,所以只能一个个获取):
另一种接收图片的方法这里我在手机app端上传了3张图片, 控制台打印了图片的源文件名:
控制台之后就可以通过 image0.getInputStream()或file.getInputStream()获取单个文件输入流, 通过IO流操作来保存图片到本地了.
#### 提示: 如果文件上传大小受限,可以使用如下配置:
```
spring:
servlet:
multipart:
enabled: true
max-file-size: 20MB
max-request-size: 50MB
```
网友评论