-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