java - 获取给定 url 的图像并将其转换为字节数组

标签 java arrays image file uri

我有一个图像网址 ( 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/

相关文章:

java - 如何防止多次点击 JComboBox

java - Apache Spark - 将 JavaRDD 转换为 DataFrame,反之亦然,性能会下降吗?

java - 在数组中查找具有重复项的和对,时间复杂度为 O(n)

c++ - 在 C++ 中创建一个 json 数组

css - 获取 html 链接以激活 css 图像映射悬停

java - 在不同的 Spring 数据存储库中使用相同的实体类

java - 用 EnumMap 替换 ConcurrentHashMap

jquery - 使用 jQuery 上传和裁剪个人资料图片

javascript - HTML 5 Canvas - 在 Javascript 中为数组/对象分配坐标值的正确方法

ios - 从所选单元格的照片库中获取图像问题?