gpt4 book ai didi

java - 使用输出流显示来自服务器的图像

转载 作者:行者123 更新时间:2023-12-01 17:26:38 25 4
gpt4 key购买 nike

我正在尝试在浏览器中显示来自服务器的图像。我正在关注此链接 http://balusc.blogspot.in/2007/04/imageservlet.html 。我必须说这是写得很好并且有记录的。我试过了,一切正常。

当我使用ajax显示此图像时,问题就出现了。整个图像似乎分解为div内的一些代码。

我知道代码中使用的输出流直接写入页面。但是,是否真的无法处理该输出流以某种方式在 jsp 的图像标记中显示图像,而无需创建不同的 servlet。

感谢您的阅读

最佳答案

您不需要通过 AJAX 请求图像数据,然后自己操作它来显示它。只需使用 <img>标签!

如果/my_url是图像的位置,然后

<img src="/my-url" alt="Appropriate description"/>

会的。注意:/my-url不一定是实际图像。它可以是任何返回具有适当 MIME 类型集的图像数据的资源(包括 servlet)。

如果你想动态创建标签,你可以使用你最喜欢的库,或者使用原生 JS 来完成:

var oImg=document.createElement("img");
oImg.setAttribute('src', '/my-url');
oImg.setAttribute('alt', 'Appropriate description');
oImg.setAttribute('height', imgHeight);
oImg.setAttribute('width', imgWidth);
document.body.appendChild(oImg);

编辑

如果您想在服务器端执行此操作(如果是这样,这真的是 AJAX 吗?),那么您可能需要查看 data uri scheme .

使用此方案,您可以直接将数据传输到图像标记,而无需为其提供 HTTP 资源。要使用此功能,请将输出流转换为 base64 并使用以下内容:

<img src="data:image/png;base64,converted-data-stream-goes-here..." alt="Who needs HTTP?"/>

image/png会根据源数据的 MIME 类型而变化。

阅读链接的维基百科页面以充分了解此处的权衡。

关于java - 使用输出流显示来自服务器的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14443125/

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