ResponseEntity返回多张图片
时间: 2023-08-22 22:07:51 浏览: 244
可以使用`Multipart`类型的`ResponseEntity`来返回多张图片。以下是一个示例代码:
```java
@GetMapping("/images")
public ResponseEntity<Multipart> getImages() {
// 获取多张图片的逻辑代码
List<Resource> imageResources = getImageResources();
// 创建一个Multipart对象
Multipart multipart = new MimeMultipart();
// 遍历所有图片资源,为每张图片创建一个BodyPart,并将其添加到Multipart对象中
for (Resource imageResource : imageResources) {
try {
BodyPart imageBodyPart = new MimeBodyPart();
imageBodyPart.setDataHandler(new DataHandler(imageResource.getInputStream(), imageResource.getContentType()));
imageBodyPart.setFileName(imageResource.getFilename());
multipart.addBodyPart(imageBodyPart);
} catch (IOException | MessagingException e) {
// 处理异常
}
}
// 设置Content-Type为multipart/mixed
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_MIXED);
// 返回Multipart对象
return new ResponseEntity<>(multipart, headers, HttpStatus.OK);
}
```
在上面的代码中,我们首先获取多张图片资源,并遍历这些资源。对于每张图片资源,我们创建一个`BodyPart`对象,并将其添加到`Multipart`对象中。最后,我们将`Multipart`对象作为`ResponseEntity`的返回值,设置Content-Type为multipart/mixed。这样客户端就可以接收到多张图片了。
阅读全文