1

我需要渲染一个可以在内部和外部存储图像的 html 文档。为了渲染,我使用了一个库,该库将通过它们的 url 加载这些图像(如 html 中引用的那样)。

我正在做的是:

  1. 对于外部图像,我通常使用 http:// 网址。

  2. 对于类路径中的图像,我在 url 中使用“classpath://”协议,以便在库尝试加载时重定向到它。

像 2 一样做。我扩展 java.net.URLStreamHandler 如下:

public class ClasspathUrlHandler extends URLStreamHandler
{
    @Override
    protected URLConnection openConnection(URL relativeUrl) throws IOException
    {
        ClassLoader classLoader = getClass().getClassLoader();
        URL absoluteUrl = classLoader.getResource(relativeUrl.getPath());
        return absoluteUrl.openConnection();
    }
}

我现在的问题是一些图像在数据库中存储为 blob,我只能以字节数组的形式访问它们。我无法像在类路径案例中那样获得它们的绝对网址。

有没有办法可以基于 byte[] 创建一个 URLConnection 对象?

注意:我想要 URLConnection 因为这是 URLStreamHandler 中的 openConnection() 返回的,就像在示例中一样。

4

0 回答 0