-1
我正在創建一個表單,允許用戶上傳他們的照片/視頻,並將其保存到我的數據庫中。我可否知道有沒有辦法完成這件事?我試圖將它保存在數據庫中使用item_path varchar,這意味着它看起來。例如:img/cats.jpg。我能做些什麼才能將其添加到數據庫中?謝謝如何在不使用blob的情況下將照片/視頻添加到mysqldatabase?
我正在創建一個表單,允許用戶上傳他們的照片/視頻,並將其保存到我的數據庫中。我可否知道有沒有辦法完成這件事?我試圖將它保存在數據庫中使用item_path varchar,這意味着它看起來。例如:img/cats.jpg。我能做些什麼才能將其添加到數據庫中?謝謝如何在不使用blob的情況下將照片/視頻添加到mysqldatabase?
如果你不能創建BLOB
列類型,那麼我會使用TEXT
類型的文件數據與base64編碼。您應該注意記錄數據的MIME類型,並且最好還是存儲校驗和(md5或類似的)。
你files
表可能是這個樣子
-- files table
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
blob MEDIUMTEXT NOT NULL
mime_type VARCHAR(255) NOT NULL
checksum VARCHAR(255) NOT NULL
created_at DATETIME NOT NULL
你可能有該文件是爲MySQL TEXT
列大小限制關聯到用戶或任何其他相關信息
這裏等欄目類型
TYPE SIZE LIMIT
----------------------------------------------------
TINYTEXT (2^8) 256 bytes
TEXT (2^16) 65,536 bytes (64 KiB)
MEDIUMTEXT (2^24) 16,777,216 bytes (16 MiB)
LONGTEXT (2^32) 4,294,967,296 bytes (4 GiB)
當你使用PHP編寫到數據庫,使用base64_encode樂趣對文件進行編碼。
如果你不能創建TEXT
列類型,那麼你可以忘記保存數據庫中的實際數據。然後,您必須將文件保存到文件系統,並在數據庫中存儲指向文件的鏈接。
最後,正如另一條評論指出的那樣,您可以使用外部blob存儲,如Amazon S3或其他雲盜版服務。
將照片/視頻保存到文件夾中。 –
在某個欄目中保存圖片/視頻的鏈接?鏈接可以是公共/私人Blob存儲服務,如S3,Azure存儲或您的內部定製。如果您的數據庫不是專門用於blob存儲的,那麼通常應該這樣做。爲您節省很多! – activatedgeek