上传文件到数据库和服务器-创新互联
上传文件我们需要做三步。
目前创新互联公司已为上千多家的企业提供了网站建设、域名、网络空间、网站托管运营、企业网站设计、罗平网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。①在页面中能选择文件上传;
②能够将二进制数据转为byte数组,然后存入数据库中,注意数据库字段的类型;
③将文件保存到服务器。
@RequestMapping(value = "/upload") public void upload(UpLoadFile uploadFile) throws Exception { String msg = "上传成功!"; String originalFilename = uploadFile.getFile().getOriginalFilename(); long size = uploadFile.getFile().getSize(); String contentType = uploadFile.getFile().getContentType(); String uploadRoot = "xxx";// 服务器根路径 String folder = ""; folder = uploadRoot + folder; folder = StringUtils.replace(folder, "\\", "/"); File dir = new File(folder); if (!dir.exists()) { if (!dir.mkdirs()) { throw new Exception("creating directory failed!"); } } folder += "/" + "上传的文件名"; File outFile = new File(folder); byte[] appwar = uploadFile.getFile().getBytes();// 文件转byte 字节类型 // me.setAppwar(appwar);//MySQL数据库中用longblob类型来存储,大单个存储文件为4G // this.mobileverDao.insert(me); try { uploadFile.getFile().transferTo(outFile);// 文件上传到服务器的地址 //使用transferTo(dest)方法将上传文件写到服务器上指定的文件。 } catch (IllegalStateException e) { throw new Exception("upload file is error!\n" + e.getMessage()); } //上传成功 }文件已字节形式存储到数据库中。
MySQL数据库中BLOB类型分为以下四种
TINYBLOB可变长二进制数据,最多255个字节
BLOB可变长二进制数据,最多2的16次方-1个字节 即64K
MEDIUMBLOB可变长二进制数据,最多2的24次方-1个字节 即16M
LONGBLOB可变长二进制数据,最多2的32次方-1个字节 即4G
这几个类型之间的唯一区别是在存储文件的大大小不同。
Oralce数据库中大数据类型分为BLOB和BFILE 两种,其中BLOB分为以下三种
BLOB全称为二进制大型对象(Binary Large Object)。它用于存储数据库中的大型二进制对象。可存储的大大小为4G字节CLOB CLOB全称为字符大型对象(Character Large Object)。它与LONG数据类型类似,只不过CLOB用于存储数据库中的大型单字节字符数据块,不支持宽度不等的字符集。可存储的大大小为4G字节NCLOB 基于国家语言字符集的NCLOB数据类型用于存储数据库中的固定宽度单字节或多字节字符的大型数据块,不支持宽度不等的字符集。可存储的大大小为4G字节
BFILE 当大型二进制对象的大小大与4G字节时,BFILE数据类型用于将其存储在数据库外的操作系统文件中;当其大小不足4G字节时,则将其存储在数据库内部的操作系统文件中,BFILE列存储文件定位程序,此定位程序指向服务器上的大型二进制文件。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页题目:上传文件到数据库和服务器-创新互联
网站网址:http://scyanting.com/article/dddddh.html