我已经读过使用BLOB将图片路径保存到数据库是最好的,而不是使用数据库来保存图片。
有人可以告诉我一些如何执行此操作的代码吗?就像我在我的数据库中注册用户一样,他们如何将他们的图片上传到他们的个人资料中,如果他们点击他们自己的个人资料,它还会检索他们的图片以及他们在我的数据库中的信息?
修改
我正在使用PHP,实际上只是填写表单和流程表单。我即将在表单上创建一个浏览“图片”按钮,但不知道如何通过插入来处理其余部分。
我的数据库稍后会保留更多的图片,并且会非常大,因为大量的人会插入图片和图表等。所以我认为数据库只是保持路径,因为它会更快地处理。
不确定要做什么,比如将图片插入数据库然后将其保存到我的文件夹中并从数据库中删除图片并将该文件夹中的图片路径保存在我的数据库中?
答案 0 :(得分:4)
听起来你对数据库blob,图像和路径有点困惑。让我们一步一步。
当您的用户上传大尺寸图片时,您需要将它们存储在文件系统中,并在数据库中记录路径。路径只是一个字符串 - 您可以使用普通的VARCHAR
类型的列。
如果要将图像本身存储在数据库中,则需要使用BLOB
类型的列。 A blob is a "binary large object" - 这就是你如何存储不是某种字符串或数字的数据。如果用户的个人资料图片很小(例如Twitter大小的头像),那么您可以考虑将其作为BLOB
数据存储在数据库中。
但是,你的主要问题是“好吧,我该如何实现?”如果不知道你正在使用什么编程语言和数据库,就无法回答。您可能希望提供更多信息,以便您可以更好地回答该问题。
编辑:回应您的澄清:是的,您绝对应该在数据库中存储路径,在文件系统中存储 images 。这是执行此操作的标准方法。其中一个主要原因是您可以单独操作图像,而不是在数据库上操作。备份一个充满图片的文件夹比备份一个大型数据库要容易得多!例如,您还可以自动创建图像的缩略图版本,或者将它们相互比较,依此类推,使用其他不必触及数据库的应用程序。
以下是关于如何使用PHP上传文件的a tutorial from Tizag,以及a tutorial from W3Schools有关它的信息。在Stack Overflow上,您可能会发现问题“PHP Image Upload”和“Image Upload Script in PHP”很有帮助。