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