我想返回一个链接的形象(或形象本身)时,作出了一个决定 GET
-请求。我看了baeldung的教程,决定用它。代码如下所示:
@RequestMapping(value = "/image-manual-response", method = RequestMethod.GET)
public void getImageAsByteArray(HttpServletResponse response) throws IOException {
InputStream in = servletContext.getResourceAsStream("/WEB-INF/images/image-example.jpg");
response.setContentType(MediaType.IMAGE_JPEG_VALUE);
IOUtils.copy(in, response.getOutputStream());
}
因为我不知道 servletContext
找到我需要的信息,我稍微改变了方法:
@GetMapping("/image")
public void getImageAsByteArray(HttpServletResponse response) throws IOException {
InputStream in = new ByteArrayInputStream(("C:\\Users\\vartanyan\\Desktop\\images\\Puer").getBytes());
response.setContentType(MediaType.IMAGE_JPEG_VALUE);
IOUtils.copy(in, response.getOutputStream());
}
因此,在《 swagger 》中我得到了以下几点:
当我在一个单独的窗口中打开图像时,我得到如下结果:
如何纠正这个问题?我在写作
Rest MVC
应用程序使用 Spring Boot
, Hibernate
, PostgreSQL
.
3条答案
按热度按时间ecfdbz9o1#
请尝试以下代码:
ao218c7q2#
从请求中获取servletcontext,如下所示:
pw136qt23#
我补充说
FileInputStream()
实现。例如: