巴扎黑2017-04-18 10:38:51
至少有兩種方法:
就是你提到的儲存在資料庫中,但是没听过也没见过谁真这么干过
。
不這麼做的原因至少有以下兩點:
例如一張圖片1M左右,多了導致資料庫檔案體積急劇膨脹
資料的體積大了,查詢的時候載入出來也會很慢很慢
檔案像普通檔案一樣放在磁碟
上,資料庫中記錄檔案在檔案系統中的路徑
。 磁盘
上,数据库中记录文件在文件系统中的路径
。
读取文件的时候,先从数据库读取文件在磁盘上的位置,然后服务器(nginx
或tomcat
讀取檔案的時候,先從資料庫讀取檔案在磁碟上的位置,然後伺服器(nginx
或tomcat
等皆可)將檔案回送給客戶端。
對於方法二來說,檔案往往是放在專門的靜態檔案伺服器上,做动静分离
,感兴趣的话可以搜搜关键字:nginx反向代理
。
例如可以用nginx
或apache
來專門處理靜態檔案(圖片,影片等)。 nginx
或apache
来专门处理静态文件(图片,视频等)。
对于那些实在没办法静态化
的请求就由tomcat
對於那些實在沒辦法靜態化
的請求就由tomcat
等動態處理並回送客戶端。