上传文件到数据库和服务器
admin
2023-03-23 21:20:38
0次

上传文件我们需要做三步。

①在页面中能选择文件上传;

②能够将二进制数据转为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列存储文件定位程序,此定位程序指向服务器上的大型二进制文件。




相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...