Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取具有给定url的图像并将其转换为字节数组_Java_Arrays_Image_File_Uri - Fatal编程技术网

Java 获取具有给定url的图像并将其转换为字节数组

Java 获取具有给定url的图像并将其转换为字节数组,java,arrays,image,file,uri,Java,Arrays,Image,File,Uri,我有一个图像url(),希望将其转换为字节数组并保存在数据库中 我做了以下操作,但是获取此消息URI scheme不是“文件” for文件(URI)构造函数指定URI必须是“文件”URI。换句话说,它应该以“文件:”开头 uri一种绝对的、分层的uri,其模式等于“文件”,即 非空路径组件,以及未定义的权限、查询和片段 组成部分 但是,您可以通过使用URL而不是文件/URI来实现所要做的事情: URL imageURL = new URL(profileImgUrl); BufferedImag

我有一个图像url(),希望将其转换为字节数组并保存在数据库中

我做了以下操作,但是获取此消息
URI scheme不是“文件”

for
文件(URI)
构造函数指定URI必须是“文件”URI。换句话说,它应该以“文件:”开头

uri一种绝对的、分层的uri,其模式等于“文件”,即 非空路径组件,以及未定义的权限、查询和片段 组成部分

但是,您可以通过使用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();

为什么不直接保存字节呢?通过图像进行保存肯定会带来很大的开销?
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();