首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

資料庫儲存圖片路徑而非二進位:正確做法與前端顯示

     編輯:程式設計疑難解答

資料庫 picture 欄位儲存的是圖片路徑(如 001.jpg),而非二進位資料。前端顯示時,需由伺服器提供靜態資源路徑或下載介面。

完整流程

  1. 上傳圖片:前端 <input type="file"> → 後端儲存至伺服器目錄(如 /upload/images/),產生唯一檔名(UUID+副檔名)。
  2. 資料庫存路徑:INSERT INTO items ... VALUES (..., '/upload/images/abc123.jpg')。
  3. 前端顯示:<img src="/upload/images/abc123.jpg"> 或後端提供 /api/image/abc123.jpg 讀取檔案流回應。

為何不存二進位

  • 資料庫體積暴增,備份/遷移困難。
  • 資料庫不擅長串流輸出,效能差。
  • 靜態檔案可走 CDN、瀏覽器快取,大幅降低頻寬。

安全建議

  • 上傳目錄置於 Web 根目錄外,透過 Controller 讀取並檢查權限後輸出。
  • 檔名用隨機字串,防止遍歷下載。
  • 定期清理孤兒檔案(資料庫記錄刪除但檔案殘留)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved