我有一个图像网址 ( http://example.com/myimage.jpg ),想要将其转换为字节数组并将其保存在我的数据库中。
我执行了以下操作,但收到此消息 URI 方案不是"file"
URI uri = new URI(profileImgUrl);
File fnew = new File(uri);
BufferedImage originalImage=ImageIO.read(fnew);
ByteArrayOutputStream baos=new ByteArrayOutputStream();
ImageIO.write(originalImage, "jpg", baos );
byte[] imageInByte=baos.toByteArray();
最佳答案
Javadoc for File(URI)
构造函数指定 uri 必须是"file"URI。换句话说,它应该以“file:”开头
uri An absolute, hierarchical URI with a scheme equal to "file", a non-empty path component, and undefined authority, query, and fragment components
但是您可以通过使用 URL 而不是文件/URI 来实现您想要执行的操作:
URL imageURL = new URL(profileImgUrl);
BufferedImage originalImage=ImageIO.read(imageURL);
ByteArrayOutputStream baos=new ByteArrayOutputStream();
ImageIO.write(originalImage, "jpg", baos );
//Persist - in this case to a file
FileOutputStream fos = new FileOutputStream("outputImageName.jpg");
baos.writeTo(fos);
fos.close();
关于java - 获取给定 url 的图像并将其转换为字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19467386/