簡體   English   中英

MissingServletRequestPartException:所需的請求部分“文件”不存在 Springboot

[英]MissingServletRequestPartException: Required request part 'file' is not present Springboot

我有一個執行文件上傳的控制器,我正在嘗試從另一個服務向控制器端點發布請求。

@RequestMapping(path = "/upload/{id}", method = RequestMethod.POST)
    public String uploadBaseImage(@RequestParam("data") String imageData, @RequestParam("file") MultipartFile file,@PathVariable("id") String id)
            throws Exception {
        String imageUrl = feedHandler.UploadAndSetImageUrl(imageData, file,Integer.parseInt(id));
        return imageUrl;
    }

我調用上述端點的代碼

public SupplierFeedResponse uploadBaseFeedImage(String data, MultipartFile file, String supplierId) throws IOException {
        String uploadBaseFeedEndpoint = uploadFeedEndpoint+Constants.FEED_SERVICE_BASE_FEED_UPLOAD_URI+supplierId;
        SupplierFeedResponse supplierFeedResponse =  new SupplierFeedResponse();
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.MULTIPART_FORM_DATA);
        MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
        body.add("file", new ByteArrayResource(file.getBytes()));
        body.add("data", data);

        log.info("Request body : "+body.toString());

        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(body, headers);
        RestTemplate restTemplate = new RestTemplate();
        ResponseEntity<String> response = restTemplate.postForEntity(uploadBaseFeedEndpoint, requestEntity, String.class);
        return supplierFeedResponse;

    }

我收到以下錯誤,不知道原因:

[MissingServletRequestPartException: Required request part 'file' is not present]

找了半天沒解決。

可能您的請求中缺少file參數,因此您必須考慮請求中的file參數。 您也可以在@RequestParam添加新屬性( require ),例如@RequestParam(value = "file", required = false) required屬性的目的,使請求參數成為必需(如果為真)或可選(如果為假)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM