【问题标题】:Get MultipartFile amount of uploaded files获取 MultipartFile 上传文件的数量
【发布时间】:2019-07-22 08:02:28
【问题描述】:

我有一个使用 MultipartFile 处理文件 POST 请求的方法。

@PostMapping(value = "/payment-files", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) 
public PaymentFileStatus postPaymentFile(
         @RequestParam("paymentFile") MultipartFile file,
) {
    byte[] fileBytes;
    try {
        fileBytes = file.getBytes();
    } catch (IOException e) {
        throw new PublicException(MESSAGE_NOT_READABLE, e);
    }

    return foo(fileBytes);
}

如果上传了多个文件,我的任务是拒绝该请求。我想知道我是否可以从 MultipartFile 对象中获取上传文件的数量?或者您有任何其他想法如何检查上传了多少文件?或者我应该使用@PreAuthorize?或者也许应该在其他地方实施验证?谢谢!

【问题讨论】:

    标签: java spring multipartform-data


    【解决方案1】:
    @RequestParam("paymentFile") MultipartFile file,
    

    更改为 @RequestParam("paymentFile") List<MultipartFile> file, 之后就可以拿到自己上传的号码文件了。

    【讨论】:

      【解决方案2】:

      试试这个。

      在数组中传递多个 MultipartFile 文件。

      @PostMapping(value = "/payment-files", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) 
      public PaymentFileStatus postPaymentFile(
               @RequestParam("paymentFile") MultipartFile[] file
      ) {
          byte[] fileBytes;
          try {
              fileBytes = file.getBytes();
          } catch (IOException e) {
              throw new PublicException(MESSAGE_NOT_READABLE, e);
          }
      
          return foo(fileBytes);
      }
      

      参考:- Solution

      【讨论】:

        猜你喜欢
        • 2011-11-06
        • 2015-06-11
        • 2014-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-20
        • 1970-01-01
        相关资源
        最近更新 更多