获取图像的java字节格式
我有一个要求,我想从用户获取图像的URL,然后将其转换为字节格式,并将其发送到我的服务器,我使用tomcat作为web应用服务器,hibernate作为ORM工具,我已经编写了服务器端代码,用于使用BLOB将传入的字节保存到表中,但我的问题是如何将图像转换为字节数组,以便将数组发送到服务器进行进一步处理 除此之外,我还可以从表中加载数据,然后将字节发送回客户端,但如何将字节转换回图像 目前,我在客户端使用HTML来处理网页,在客户端使用servlet来处理请求和响应获取图像的java字节格式,java,html,image-processing,Java,Html,Image Processing,我有一个要求,我想从用户获取图像的URL,然后将其转换为字节格式,并将其发送到我的服务器,我使用tomcat作为web应用服务器,hibernate作为ORM工具,我已经编写了服务器端代码,用于使用BLOB将传入的字节保存到表中,但我的问题是如何将图像转换为字节数组,以便将数组发送到服务器进行进一步处理 除此之外,我还可以从表中加载数据,然后将字节发送回客户端,但如何将字节转换回图像 目前,我在客户端使用HTML来处理网页,在客户端使用servlet来处理请求和响应 请帮助我。检查java中的I
请帮助我。检查java中的
ImageIO
类。它有读写图像的方法。查看更多信息。似乎您不需要对图像进行任何特殊计算。只需存储它们并将其发送回浏览器即可。如果是这种情况,你实际上不需要把它们当作图像来处理,你可以把它们当作图像来处理。然后可以将它们作为BLOB存储在数据库中
要帮助您管理上载,您可以使用。或者,如果您使用的是SpringMVC,请查看。如果是图像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) {
}
}
}
}
为什么不下载图像服务器send并使用javascript只将图像名称发送到服务器?这是不可能的,如果图像是跨域的,你已经有了图像,如果它不是。。。