巴扎黑2017-04-18 10:38:51
至少有两种方法:
就是你提到的存储在数据库中,但是没听过也没见过谁真这么干过
。
不这么做的原因至少有如下两点:
比如一张图片1M左右,多了导致数据库文件体积急剧膨胀
数据的体积大了,查询的时候加载出来也会很慢很慢
文件像普通文件一样放在磁盘
上,数据库中记录文件在文件系统中的路径
。磁盘
上,数据库中记录文件在文件系统中的路径
。
读取文件的时候,先从数据库读取文件在磁盘上的位置,然后服务器(nginx
或tomcat
读取文件的时候,先从数据库读取文件在磁盘上的位置,然后服务器(nginx
或tomcat
等皆可)将文件回送给客户端。
对于方法二来说,文件往往是放在专门的静态文件服务器上,做动静分离
,感兴趣的话可以搜搜关键字:nginx反向代理
。
比如可以用nginx
或apache
来专门处理静态文件(图片,视频等)。nginx
或apache
来专门处理静态文件(图片,视频等)。
对于那些实在没办法静态化
的请求就由tomcat
对于那些实在没办法静态化
的请求就由tomcat
等动态处理并回送客户端。