背景:在项目当中需要存企业营业执照的扫描件(图片),现在的想法是把从前台页面传过来的图片在Action中转换成二进制字节流之后再保存到数据表当中去,保存图片的那个字段用了blob类型(Oracle大数据类型)。虽然知道应该用另一种方法来存储图片---数据表中只存文件路径,然后图片存放到服务器上面去,但是数据表已经这么建了,经理催进度催得又比较紧....所以暂时就这么干吧。写这篇博客的目的是为了让自己记住如何将文件转换成二进制字节流,毕竟平时用IO流用得比较少(逃......
public class PhotoTest{
public static void main(String[] args) throws IOException{
/*
*将图片转换成二进制字节流
*/
byte[] imageByte;
File file1 = new File("D:/w.jpg");//需要转换成二进制字节流的文件的绝对路径
FileInputStream fls = new FileInputStream(file1);
imageByte = new Byte[ (int) file1.length() ];
fls.read(imageByte);
fls.close();
/*
*将二进制字节流转换成图片
*/
File file2 = new File("D:/p.jpg");//发现不管是jpg还是jpeg或者是png甚至是gif都能将图片显示出来....
FileOutputStream fos = new FileOutputStream(file2);
fos.write(imageByte);
fos.close();
}
}
可以看到上面的代码可以运行了
网友评论