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()
}
}
存储图片是后端服务器比较基础的功能,一般来说,图片可以存储在服务器的文件系统中,然后数据库中只需要存储url就可以了。另外一种办法是,将图片通过Base64编码后存储到数据库中,数据库中存储图片的base64编码的二进制可以使用TEXT(mysql)类型。单纯的上传文件,java的存储图片的方式也有局限性。1、图片存储在另一个项目工程的资源文件夹中,通过路径直接访问是访问不到的。
2、前端vue获取图片名称,拼接文件服务器地址来访问显示图片。
3、出于时间考虑,尽可能的简单实现,相对FTP来说,tomcat的文件服务器不需要考虑用户密码的配置。