web应用中上传文件的存放方式?文件夹 : 数据库(1)
作者:chinamao 邮箱:chinamao@gmail.com 转载请注明出处 相关文章
关于web应用中上传的文件到底是放在文件夹下还是数据库中,有着一些争论,现在很多做法是根据实际情况选择一种做法,本文要介绍的是结合此两种方法的一种方式。
文件的上传、下载的实现主要有两种方式:
1. 将文件保存在文件夹中;
2. 将文件保存在数据库中。
这两种方法各有优缺点:
比如文件保存在服务器的文件夹中,速度上有优势,文件上传、下载只是通过链接读取文件,但是这种方法,不便于文件的管理。比如将文件夹转移位置,或服务器硬盘满了,把文件放到其他地方,就得更新文件的链接。当然也不利于文件资料的备份等。
而将文件放到数据库中,因为涉及到大容量的数据库的读写,速度上有点弱势,但是这种方法,文件全部放在数据库中,非常方便文件的查找、管理和备份等。
我们在项目中将采用以上两种方法结合的方法。即先把文件放到服务器一个特定的文件夹中,然后再上传到数据库中,这样当用户读取某个文件时,若文件夹中有这个文件,则直接读取,而不用访问数据库。若文件夹中没有这个文件,则从数据库中读取,再放到这个文件夹中,这样,当用户第二次访问同样一个文件,就不需访问数据库,而直接从文件夹中读取。
这种方法结合了文件夹存放方式和数据库存放方式两者的优点。不仅有着文件夹方式的访问效率,而且也有数据库存放方式的便于管理等优势。
我们的具体做法是应用jspSmartUpload组件并利用SQL的存储过程来实现的。
具体做法待续。