php - 數據庫存圖片,是存圖片名稱?還是存圖片路徑??
問題描述
數據庫存圖片,是存圖片名稱?還是存圖片路徑??
問題如上,之所以會有這么個疑問,目前圖片是在本地服務器上存的,但是以后若是業務規模擴大,那圖片肯定是要遷移到云存儲服務上的,那個時候圖片路徑會改動,我怕原有網站圖片顯示,全部掛掉...。
不知道,大家存圖片到數據庫的時候,是存圖片名稱(test.jpg) 還是 存圖片路徑(一般都是 /Data/UploadImage/2017-04-14/test.jpg)??
存圖片名稱的話,以后,路徑改動,直接修改圖片路徑的代碼就解決了。
存圖片路徑的話,以后,路徑改動,要更新數據庫中所有圖片的路徑才能夠解決。
不知道你們在上傳圖片后,保存圖片的時候,是怎樣保存的呢??
問題解答
回答1:習慣了路徑、名稱、后綴 分開存,然后有一個字段是完整url,即把以上所有連起來
回答2:從你的問題看,既然剛開始就在數據庫存儲圖片的相對路徑就好了,以后要存第三方圖片服務的話,到時就寫腳本批量替換成第三方的圖片地址就可以了,如果想一步到位的話,現在就可以使用第三方的圖片服務的
回答3:這個一般都是在自己的數據庫中存儲圖片路徑,要是圖片多了,得占用多少空間呀。真實圖片可以存儲在第三方平臺,如七牛等。實現思路是:先上傳到七牛云服務器,獲取到存儲的路勁,然后保存到自己數據庫中。
回答4:存圖片現在常規做法是:圖片資源統一上傳至圖片服務器,然后保存圖片路徑,如果數據量非常大,可以根據Hash值進行分表存儲。使用在項目中的話,全部走images.xxx.com/路徑.png 的方式加載圖片。另,如果不使用圖片服務器,走專門的域名的話,可以在網站根目錄簡歷一個resource資源文件夾,全部存放到這里,所有使用路徑的地方都使用“/”,從根目錄找起,方便遷移,也不會出路徑問題。
回答5:如果存自己服務器的話,數據庫存相對路徑! 如果遷移了或者換了域名也不重要,直接更改域名即可,其它都不用管,如果你存全路徑,換域名IP 那就慘了!
如果存第三方都會返回一個ID給你直接存這個ID就好了,到時候請求這個ID拿到你想要的圖片即可!
回答6:如果是本地服務器上的圖片,那么就存相對與你項目根目錄的路徑(如/upload/20170413/xxxx.png),這樣有兩個好處:1.你前端引用的時候可以直接用(前提是你的nginx之類的配置根就是你項目路徑)。2.在你項目遷移的時候能夠直接遷移,不會有大問題。如果是第三方的地址,那么就直接存完整的地址了(比如http://img.xxx.xx.qiniu.com/x...),第三方的你干預不了什么,也不會有地址遷移的說法。
