【问题标题】:Using BLOB to save a path and retrieve it使用 BLOB 保存路径并检索它
【发布时间】:2012-01-18 12:51:45
【问题描述】:

我读过使用 BLOB 将图片的路径保存到数据库是最好的,而不是使用数据库来保存图片。

有人可以告诉我一些关于如何做到这一点的代码吗?就像我有用户在我的数据库中注册,他们如何将他们的图片上传到他们的个人资料中,如果他们点击自己的个人资料,它也会检索他们的图片以及他们在我的数据库中的信息?

编辑

我正在使用 PHP,实际上只是正常填写表单和处理表单。我也将在表单上制作一个浏览“图片”按钮,但不知道如何通过插入来处理其余部分。

我的数据库稍后会保存更多图片,并且会非常大,因为很多人会插入图片和图表等。所以我认为数据库只会保存路径,因为它会处理得更快。

不知道该怎么做,比如将图片插入数据库,然后将其保存到我的文件夹中某处,然后从数据库中删除图片并将该文件夹中图片的路径保存在我的数据库中?

【问题讨论】:

  • 你为什么要检查你的问题并将标题和正文更改为 asadasdas asda sda sdas dasd asd asd?

标签: sql database blob


【解决方案1】:

听起来您对数据库 blob、图像和路径有些困惑。让我们一步一步来。

当您的用户上传大尺寸图片时,您需要将它们存储在文件系统中,并在数据库中记录路径。路径只是一个字符串 - 您可以使用普通的旧 VARCHAR 类型的列。

如果您想将图像本身存储在数据库中,您可以使用BLOB 类型的列。 A blob is a "binary large object" - 这是您存储不是字符串或数字的数据的方式。如果您的用户的个人资料图片很小(例如 Twitter 大小的头像),那么您可以考虑将它们作为 BLOB 数据存储在数据库中。

但是,您的主要问题是“好的,我该如何实现?”如果不知道您使用的是什么编程语言和数据库,就无法回答。您可能希望提供更多信息,以便您可以更好地回答该问题。

编辑:回应您的澄清:是的,您绝对应该将 paths 存储在数据库中,并将 images 存储在文件系统中。这是标准的做法。造成这种情况的主要原因之一是您可以将图像操作与数据库操作分开。备份一个装满图片的文件夹比备份一个大型数据库要容易得多!例如,您还可以使用其他应用程序自动创建图像的缩略图版本,或将它们相互比较,等等,这些应用程序无需访问您的数据库。

这里是 a tutorial from Tizag 关于如何使用 PHP 上传文件,这里是 a tutorial from W3Schools 关于它。在 Stack Overflow 上,您可能会发现问题“PHP Image Upload”和“Image Upload Script in PHP”很有帮助。

【讨论】:

    猜你喜欢
    • 2011-01-09
    • 2021-03-23
    • 2018-06-23
    • 2013-07-21
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    • 2021-04-24
    相关资源
    最近更新 更多