使用 ResourceLoader 获取文件,请问我要怎么做才能让游览器直接显示成图片呢?
private final ResourceLoader resourceLoader;
@RequestMapping(method = RequestMethod.GET, value = "/{filename:.+}")
@ResponseBody
public ResponseEntity<?> getFile(@PathVariable String filename) {
try {
return ResponseEntity.ok(resourceLoader.getResource("file:" + Paths.get(ROOT, filename).toString()));
} catch (Exception e) {
return ResponseEntity.notFound().build();
}
}
1
CFO 2018-08-10 12:07:52 +08:00 via Android
给流前端不太好处理吧 我的做法是存在文件服务器里给路径 小图直接 base64 给过去也行
|
2
kamil 2018-08-10 12:21:56 +08:00 via iPhone 1
RequestMapping 里的 produce 可以设置返回的 Content-Type 比如,image/jpg
把 ResponseEntity.ok 里的 toString 去掉,直接返回 |
3
elgae 2018-08-10 12:40:31 +08:00
用 StreamingResponseBody 比较合适
|
4
limuyan44 2018-08-10 12:59:12 +08:00 via Android 1
手动把 reponse 的 contenttype 设为 octet-stream 就可以了。
|
6
zjp 2018-08-10 13:47:12 +08:00 via Android
没运行代码,难道不是 2 楼才是正解吗
|