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