我需要渲染一个可以在内部和外部存储图像的html文档。 要渲染我使用的库将通过其URL加载这些图像(如html中所述)。
我正在做的是:
对于外部图像我通常使用http:// urls。
对于类路径中的图像我在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存储在数据库中,我只能将它们作为字节数组访问。我不能像在类路径案例中那样得到绝对的URL。
有没有办法可以基于byte []创建URLConnection对象?
注意:我想要URLConnection,因为这就是URLStreamHandler中的openConnection()返回的内容,如示例所示。