gpt4 book ai didi

spring - 如何在 JAVA 的 rest API 中将图像返回给浏览器?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:15:58 30 4
gpt4 key购买 nike

我想要一个图像,同时我点击一个 API,比如 localhost:8080:/getImage/app/path={imagePath}

当我点击这个 API 时,它会返回一张图片。

这可能吗?

实际上,我已经试过了,但它给了我一个错误。这是我的代码,

@GET
@Path("/app")
public BufferedImage getFullImage(@Context UriInfo info) throws MalformedURLException, IOException {
String objectKey = info.getQueryParameters().getFirst("path");

return resizeImage(300, 300, objectKey);
}


public static BufferedImage resizeImage(int width, int height, String imagePath)
throws MalformedURLException, IOException {
BufferedImage bufferedImage = ImageIO.read(new URL(imagePath));
final Graphics2D graphics2D = bufferedImage.createGraphics();
graphics2D.setComposite(AlphaComposite.Src);
// below three lines are for RenderingHints for better image quality at cost of
// higher processing time
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
graphics2D.drawImage(bufferedImage, 0, 0, width, height, null);
graphics2D.dispose();
System.out.println(bufferedImage.getWidth());
return bufferedImage;
}

我的错误,

java.io.IOException: The image-based media type image/webp is not supported for writing

有什么方法可以在 java 中点击任何 URL 时返回图像吗?

最佳答案

您可以使用 IOUtils .这是代码示例。

@RequestMapping(path = "/getImage/app/path/{filePath}", method = RequestMethod.GET)
public void getImage(HttpServletResponse response, @PathVariable String filePath) throws IOException {
File file = new File(filePath);
if(file.exists()) {
String contentType = "application/octet-stream";
response.setContentType(contentType);
OutputStream out = response.getOutputStream();
FileInputStream in = new FileInputStream(file);
// copy from in to out
IOUtils.copy(in, out);
out.close();
in.close();
}else {
throw new FileNotFoundException();
}
}

关于spring - 如何在 JAVA 的 rest API 中将图像返回给浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49346841/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com