PostMan一次性上传多个文件

使用场景:

        需要从本地一次性上传多张图片导入到数据库,或者在本地调试一次性上传多个文件到后台


      

1、本地PostMan上传多个文件设置:

2、后台接口对应代码如下:

        这里参数file使用postman中对应的file参数名,使用集合类型接收多个文件,下面示例代码最终将上传的图片上传到minio服务器存储

@PostMapping("/uploadMinIO")
public CommonResult upload(@RequestParam(name = "file", required = false) List<MultipartFile> file) {
        if (file == null || file.size() == 0) {
            return CommonResult.failed("上传文件不能为空");
        }
        List<String> orgfileNameList = new ArrayList<>(file.size());
        List<String> urlList = new ArrayList<>();
        for (MultipartFile multipartFile : file) {
            String orgfileName = multipartFile.getOriginalFilename();
            orgfileNameList.add(orgfileName);
            try {
                //文件上传
                InputStream in = multipartFile.getInputStream();

                String datePath = new DateTime().toString("yyyyMMddHHmmssSSS");
                String filename = "pic/" + datePath + orgfileName.substring(orgfileName.lastIndexOf("."));
                minioClient.putObject(PutObjectArgs.builder()
                            .bucket(bucketName)
                            .object(filename)
                            .stream(in, multipartFile.getSize(), -1)
                            .contentType(multipartFile.getContentType())
                            .build());
                in.close();

                String url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs
                                .builder()
                                .bucket(bucketName)
                                .method(Method.GET)
                                .object(filename).build());
                urlList.add(url);
            } catch (Exception e) {
                log.error(e.getMessage());
                return CommonResult.failed("上传失败");
            }
        }
        
        Map<String, Object> data = new HashMap<String, Object>();
        data.put("bucketName", bucketName);
        data.put("fileName", orgfileNameList);
        data.put("url", urlList);
        
        return CommonResult.success(data, "上传成功");
    }

### 如何在后端处理从Postman上传文件 为了实现通过Postman上传文件并在后端进行处理,可以按照如下方法构建Spring Boot应用程序来接收文件。 #### 创建控制器类 定义一个`FileUploadController`用于处理文件上传请求。此控制器需标注为`@RestController`以便支持RESTful服务,并指定映射路径以响应特定HTTP POST请求: ```java @RestController public class FileUploadController { @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile file){ // 打印上传文件名到控制台 System.out.println(file.getOriginalFilename()); // 返回文件名称作为响应消息给客户端 return "Received file: " + file.getOriginalFilename(); } } ``` 上述代码片段展示了如何创建一个简单的API端点来接受单个文件上传[^1]。 对于多文件上传场景,则可调整参数声明部分允许传递数组形式的数据结构,从而一次性接收到多个文件对象。具体做法是在`handleFileUpload()`函数签名处修改成接受`MultipartFile[] files`或使用集合类型如`List<MultipartFile>`代替单一实例变量。 当涉及到实际业务逻辑比如利用Apache POI库解析Excel文档并与数据库交互时,可以在该方法内部进一步扩展功能,读取文件内容并执行必要的数据操作[^2]。 需要注意的是,在发送大尺寸文件前应考虑网络延迟因素,因为整个请求的成功依赖于客户端至服务器之间的传输完成情况[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值