首先要注意mysql的字段类型,可以选择BLOB类型或text类型,这两种类型是进行存储文件字节码的类型;
具体使用要根据传入的文件的大小限制,这里我们是不能大于16M,所以这里使用的是 mediumtext类型的字段;
本次通过存储文件的Base64字符串来进行存储及反生成的;
1.如何将文件存入mysql
有的时候我们是接收前端传过来的文件,所以我们不需要手动获取本地文件,可直接使用;比如我们接
收到了一个文件叫file :
FileInputStream inputFile = new FileInputStream(file);
byte[] buffer = new byte[(int) files.length()];
inputFile.read(buffer);
inputFile.close();
String encode = new BASE64Encoder().encode(buffer);
如果是从本地取,则开始要获取文件: File file = new File(" 文件路径"); 后续就是上面代码;
当获取到Bbse64的字符串后及可存储进mysql字段,类型对应于java的String;
2.如何将mysql中的字符串转成File文件
首先我们要在本地创建一个空的File文件的输出流,这是用来存储存在数据库里的file数据的容器;
这里我用jar做示例: