java 前端上传文件后端解析并转发到第三方存储,Hutool 工具

发布于:2024-07-13 ⋅ 阅读:(175) ⋅ 点赞:(0)

单个文件上传

  @PostMapping("/upload")
    public MyResponse<?> upload(MultipartFile file) {
        if (multipartFiles == null || multipartFiles.length == 0) {
            throw new MessageException("未选择文件");
        }
        
  InputStreamResource inputStreamResource = new InputStreamResource(file.getInputStream(), file.getOriginalFilename());
                    MultiResource multiResource = new MultiResource(inputStreamResource);
                    HttpResponse response = HttpRequest.post(url)
                            .form("file", multiResource)
                            .execute();
                    resultJson = response.body();

        return MyResponse.success(multipartFiles.length);
    }

多个文件上传

  @PostMapping("/upload")
    public MyResponse<?> upload(MultipartFile[] multipartFiles) {
        if (multipartFiles == null || multipartFiles.length == 0) {
            throw new MessageException("未选择文件");
        }
        MultiResource multiResource = new MultiResource(
            Arrays.stream(multipartFiles)
                    .map(multipartFile -> {
                        try {
                            return new InputStreamResource(multipartFile.getInputStream(), multipartFile.getOriginalFilename());
                        } catch (IOException e) {
                            throw new MessageException("输入流打开失败", e);
                        }
                    }).collect(Collectors.toList())
        );
        HttpResponse httpResponse = HttpRequest.post("https://demo.shansing.net/api/uploadFiles")
            //.timeout(myConfig.getLongTimeout())
            .form("files", multiResource)
            .execute();
        return MyResponse.success(multipartFiles.length);
    }

转自 

Hutool 中转 MultipartFile 文件上传 - 闪星空间 (shansing.com) 


网站公告

今日签到

点亮在社区的每一天
去签到