uniapp在App端上传多张图片,后端Java利用Spring的MultipartFile接收文件

在这里受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

```

你可能感兴趣的:(uniapp在App端上传多张图片,后端Java利用Spring的MultipartFile接收文件)