Java 带有ImageUpload端点的空文件
当我点击imageupload端点时,imageFile返回空值。我是否需要在某个地方设置一个集中式配置来解析它?imageMetadata很好地通过了Java 带有ImageUpload端点的空文件,java,spring,spring-boot,rest,Java,Spring,Spring Boot,Rest,当我点击imageupload端点时,imageFile返回空值。我是否需要在某个地方设置一个集中式配置来解析它?imageMetadata很好地通过了 @PostMapping(value = "/images/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public String upload( @RequestPart(value = "imageFile", required = false) Mult
@PostMapping(value = "/images/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public String upload(
@RequestPart(value = "imageFile", required = false) MultipartFile imageFile,
@RequestPart(value = "imageMetadata", required = false) String imageMetadata
) {
String imageFileIsNull = Boolean.toString(imageFile == null);
return "Thanks for uploading your file! metadata:" + imageMetadata + " file is null: " + imageFileIsNull;
}
附加照片时返回值(我尝试了jpg和png)
请尝试使用以下代码段
@PostMapping(value = "/images/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<ResponseMessage> upload(
@RequestParam("file") MultipartFile imageFile
) {
String imageFileIsNull = Boolean.toString(imageFile == null);
String message = "Thanks for uploading your file! " + " file is null: " + imageFileIsNull;
return ResponseEntity.status(HttpStatus.OK).body(new ResponseMessage(message));
}
@PostMapping(value=“/images/upload”,consumes=MediaType.MULTIPART\u FORM\u DATA\u value)
公共响应上传(
@RequestParam(“文件”)多部分文件imageFile
) {
字符串imageFileIsNull=Boolean.toString(imageFile==null);
String message=“谢谢上传您的文件!”+“文件为空:”+imageFileIsNull;
返回ResponseEntity.status(HttpStatus.OK).body(新的ResponseMessage(message));
}
我删除了用于测试的图像元数据,以便您可以确保代码正常工作。解决了这个问题。需要使用多部分/表单数据的部分
@PostMapping(value = "/images/upload", consumes = { "multipart/form-data" } )
public String upload(
@RequestPart(value = "file", required = false) MultipartFile imageFile,
@RequestPart(value = "imageMetadata", required = false) String imageMetadata
) {
String imageFileIsNull = Boolean.toString(imageFile == null);
String imageName = imageFile.getOriginalFilename();
return "Thanks for uploading your file! metadata:" + imageMetadata + " file is null: " + imageFileIsNull + " file name: " + imageName;
}
输出
Thanks for uploading your file! metadata:"hellooo" file is null: false file name: image_name.png
这是有效的-有没有一种方法可以将其发送到身体而不是参数中?为此,您可以检查这个。在参数中发送文件的。如果可以的话,我想把它分成两部分发送,因为它更安全一点。
Thanks for uploading your file! metadata:"hellooo" file is null: false file name: image_name.png