在图像的java中获取字节格式

时间:2010-10-26 14:18:21

标签: java html image-processing

我有一个要求,我想从用户获取图像的URL,然后将其转换为字节格式,并将其发送到我的服务器,我使用tomcat作为web-app服务器和hibernate作为ORM工具,我已经写好了服务器端代码用于使用BLOB将传入的字节保存到表中,但我的问题是如何将图像转换为字节数组,以便我可以将数组发送到服务器以进一步处理。

添加到上面,我可以从表中加载数据,然后可以将字节发送回客户端,但是如何将字节转换回图像。

目前,我在客户端使用HTML作为网页,使用Servlet作为请求和响应。

请帮帮我。

3 个答案:

答案 0 :(得分:1)

如果是图像URL,那么只需将URL直接读入字节数组,如下所示:

public static byte[] getBytesFromURL(URL url) throws IOException {
    InputStream in = null;
    ByteArrayOutputStream out = null;
    try {
        in = url.openStream();
        out = new ByteArrayOutputStream();
        int len;
        byte[] buf = new byte[1024 * 4];
        while ((len = in.read(buf)) >= 0) {
            out.write(buf, 0, len);
        }
        byte[] bytes = out.toByteArray();
        return bytes;

    } catch (IOException e) {
        throw e;
    } finally {
        if (in != null) {
            try {
                in.close();
            } catch (IOException e) {
            }
        }
        if (out != null) {
            try {
                out.close();
            } catch (IOException e) {
            }
        }
    }
}

答案 1 :(得分:0)

检查java中的ImageIO类。它具有读取和写入图像的方法。有关详细信息,请查看here

答案 2 :(得分:0)

您似乎不需要对图像进行任何特殊计算。只需存储它们并将它们发送回浏览器即可。如果是这种情况,您实际上不需要将它们视为图像,您可以将它们作为java.io.File来处理。然后,您可以将它们存储为数据库中的BLOB。

为了帮助您管理上传,您可以使用commons-fileupload。或者,如果您使用的是SpringMVC,请查看Multipart Resolver