gpt4 book ai didi

Java + Spring 启动 : Downloading image and pass it to a request

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:08:56 25 4
gpt4 key购买 nike

我有一个 Spring Boot 应用程序,它应该充当代理。

它应该处理像“http://imageservice/picture/123456”这样的请求

然后应用程序应该生成一个新的请求到“http://internal-picture-db/123456.jpg”,它应该下载它后面的图片 (123456.jpg),然后将它传递给响应并提供它。

应该是这样的

@RequestMapping("/picture/{id}")
public String getArticleImage(@PathVariable String id, HttpServletResponse response) {

logger.info("Requested picture >> " + id + " <<");

// 1. download img from http://internal-picture-db/id.jpg ...

// 2. send img to response... ?!

response.???

}

我希望我的意思很清楚...

所以我的问题是:最好的方法是什么?

并且仅供引用,不可能只发送重定向,因为该系统在 Internet 上不可用。

最佳答案

我会使用响应主体返回图像而不是 View ,例如:

@RequestMapping("/picture/{id}")
@ResponseBody
public HttpEntity<byte[]> getArticleImage(@PathVariable String id) {

logger.info("Requested picture >> " + id + " <<");

// 1. download img from http://internal-picture-db/id.jpg ...
byte[] image = ...

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_JPEG);
headers.setContentLength(image.length);

return new HttpEntity<byte[]>(image, headers);
}

您有一篇文章可以帮助您从其他网址下载图片: how to download image from any web page in java

关于Java + Spring 启动 : Downloading image and pass it to a request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29792837/

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