gpt4 book ai didi

java - 使用 css 的背景图像从 servlet 显示 svg

转载 作者:太空宇宙 更新时间:2023-11-04 10:29:46 24 4
gpt4 key购买 nike

我有以下 servlet 代码片段:

Blob blob = rs.getBlob("ICON");
byte[] bytes = blob.getBytes(1, (int)blob.length());
response.getOutputStream().write(bytes);
response.setContentType("image/svg+xml");

和 css 片段:背景图片:url(/IconData?type=get&iconId=6)

图像未显示。

如果我直接在浏览器中设置 servlet URL,则 svg 会正确显示。我在 Chrome 网络控制台中注意到的一件事是,访问 servlet 时,image/svg+xml 内容类型不会在响应 header 中发送。

我错过了什么吗?

我使用保存到数据库中的 svg 文件进行了测试: usa.svg

最佳答案

一旦将数据写入流,再设置 header 可能就太晚了。在将数据写入流之前,您需要设置 Content-Type header 。

setContentType documentation部分说:

Sets the content type of the response being sent to the client, if the response has not been committed yet. [...] This method has no effect if called after the response has been committed.

(强调我的。)

关于java - 使用 css 的背景图像从 servlet 显示 svg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50145680/

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