前端传Blob的对象type是image/png,后端java用MultipartFile接怎么才能不让类型是application/octet-stream
时间: 2024-05-13 13:14:12 浏览: 161
在前端使用 `FormData` 对象上传 `Blob` 对象时,可以使用 `Blob` 对象的 `type` 属性指定文件类型,例如:
```javascript
const formData = new FormData();
formData.append('file', blob, 'myimage.png');
```
在后端使用 `MultipartFile` 接收文件时,可以使用 `@RequestParam` 注解指定文件的 MIME 类型,例如:
```java
@PostMapping("/upload")
public ResponseEntity<?> uploadFile(@RequestParam("file") MultipartFile file) {
// ...
}
```
如果不指定 MIME 类型,Spring 默认会将文件类型设为 `application/octet-stream`。可以在 `@RequestParam` 注解中使用 `consumes` 属性指定 MIME 类型,例如:
```java
@PostMapping("/upload")
public ResponseEntity<?> uploadFile(@RequestParam(value = "file", consumes = MediaType.IMAGE_PNG_VALUE) MultipartFile file) {
// ...
}
```
其中 `MediaType.IMAGE_PNG_VALUE` 是 Spring 内置的 `image/png` MIME 类型常量。这样就可以确保后端接收到的文件类型与前端传递的类型一致,避免了类型不匹配的问题。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)