我有一个图片网址(http://example.com/myimage.jpg)并希望将其转换为字节数组并将其保存在我的数据库中。
我执行了以下操作,但收到此消息URI scheme is not "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();
答案 0 :(得分:2)
File(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();
构造函数指定uri必须是“文件”URI。换句话说,它应该以“file:”
uri 一个绝对的分层URI,其方案等于“file”,a 非空路径组件,以及未定义的权限,查询和片段 部件
但是你可以通过使用URL而不是文件/ URI来实现你想要做的事情:
{{1}}