1
2
3
4
5
6
7
8
9
10
11
12
13
//byte数组到图片到硬盘上
public void byte2image(byte[] data,String path){
if(data.length<3||path.equals("")) return//判断输入的byte是否为空
try{
FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path))//打开输入流
imageOutput.write(data, 0, data.length)//将byte写入硬盘
imageOutput.close()
System.out.println("Make Picture success,Please find image in " + path)
} catch(Exception ex) {
System.out.println("Exception: " + ex)
ex.printStackTrace()
}
}
1.确实如你所说,基本没有上线的项目会将图片放到webroot,这样重新上线时图片就都会丢失
2.
如果图片不大并且资源很重要可以放在数据库(二机制存储,不常用)
3.
图片可以单独存放在硬盘的某个目录,但不是项目目录下,所以读取图片时都需要文件流来操作(小项目比较多)
4.
对于图片多或者项目比较大的时候就会考虑使用CDN服务器,专门的一个服务来存图片(大项目基本都是)
存取图片就是二进制数据的存取问题把图片以文件的时候读入到程序中
转换成byte
以byte显示保存到数据库中
另外,access保存文件~~不合适~
---------------------------
显示和存储没关系,看你要怎么显示了~显示到浏览器?