给定一个字节数组,如何返回URLConnection

时间:2014-05-16 17:10:55

标签: java binary-data urlstream

我需要渲染一个可以在内部和外部存储图像的html文档。 要渲染我使用的库将通过其URL加载这些图像(如html中所述)。

我正在做的是:

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

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

  3. 要像在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()返回的内容,如示例所示。

0 个答案:

没有答案