我的控制器如下:
@RequestMapping(value = "/videos/{id}",
headers = "Accept=image/jpeg, image/jpg, image/png, video/mp4",
method = RequestMethod.GET)
public ResponseEntity<byte[]> loadVideo(@PathVariable("id") long campaignId,
Principal principal) throws IOException {
此控制器返回与给定id关联的媒体的字节流。效果很好。我遇到的唯一问题是加载这个视频相关的元数据(标题、描述、视图计数等)因为我要发回一个字节数组,所以我不太确定在哪里放置元数据。
发布于 2016-09-02 15:46:20
由于我的评论已经很宽容了,所以我决定在这里再发一次:
如果您处理某些媒体类型,如image/jpg
或video/mp4
,您应该将元数据作为标题,因为响应的有效负载应该只包括相应文件的字节。这还可以对元数据进行查找,而不必通过简单的HEAD
请求下载实际文件的字节。
但是,某些API提供了自己的媒体类型,或者向客户端发送基于JSON或XML的响应。在这种情况下,有效负载通常包含一个预定义的结构,其中包括文件的字节作为base64编码的字符串,以及元数据作为纯文本。这些API认为,一次发送多个文件比处理多部分内容更容易。
https://stackoverflow.com/questions/39301383
复制相似问题