gpt4 book ai didi

image - 从tomcat服务器向客户端发送图像

转载 作者:行者123 更新时间:2023-11-28 22:57:02 25 4
gpt4 key购买 nike

我正在构建一个电子商务网站框架。我使用 jersey 来创建 REST API。我需要根据要求将图像发送给客户。我如何从我的应用程序服务器 Tomcat 和 jersey 作为 REST API 做到这一点?

由于我是新手,所以我不知道如何将显示为项目的图像发送到 Android 客户端。

最佳答案

每个资源都由URI标识,客户端会通过查询URL来请求特定的图像或一堆图像,所以你只需要暴露一个服务,下面的服务是一个向客户端发送单个图像的例子。

@GET
@Path("/images/{imageId}")
@Produces("image/png")
public Response downloadImage(@PathParam("imageId") String imageId) {
MultiMediaDB imageDb = new MultiMediaDB();
String filePath = imageDb.getImage(imageId);
File file = new File(filePath);
ResponseBuilder response = Response.ok((Object) file);
response.header("Content-Disposition",
"attachment; filename=\"fileName.png\"");
return response.build();
}

MultiMediaDB 是我的自定义类,用于从数据库中获取文件位置,您现在可以对其进行硬编码以用于测试目的,例如 D:\server_image.png。您需要将 Content-Disposition 作为附件 提及,这样文件就不会被下载,而是附加到表单上。

在 android 中,您只需需要从 HttpURLConnection 对象读取输入流并将其发送到位图,如下所示

URL url = new URL(BaseUrl + "/images/" + imageId);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.connect();
iStream = urlConnection.getInputStream();
bitmap = BitmapFactory.decodeStream(iStream);

您可以将该位图设置为 imageview 或任何您拥有的容器。

关于image - 从tomcat服务器向客户端发送图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24604797/

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