代码之家  ›  专栏  ›  技术社区  ›  Michael Mao

对于需要管理的业务人员,在MySQL中保留二进制图像还是只保留URL?

  •  1
  • Michael Mao  · 技术社区  · 15 年前

    我正在完成一项任务,通过jquery&php实现图像上载和自动缩放(从全尺寸到缩略图)。

    我自然会想出两种方法:

    首先,将两个图像作为二进制对象直接存储到MySQL中; 第二,只存储图像的URL,并将图像保存在服务器上的某个位置。

    据我所知,这些图片供所有人查看,因此没有安全限制。

    就我个人而言,我没有任何偏好,但是,在一天结束的时候,将要作为系统(CRUD)的一部分来管理图像的是业务人员。所以我想知道 对他们来说哪个更好?

    当然,我正在构建一个易于使用的可视化Web界面,供员工控制流程,但我不确定这是否足够。经验教训告诉我,如果我不为未来着想,不寻求最灵活的方法,我迟早会搞砸自己的。

    ps.下面的链接是我迄今为止发现的,非常酷,没有涉及到闪存:) Andrew Valum's ajax image upload jQuery plugin

    4 回复  |  直到 14 年前
        1
  •  5
  •   Konerak    15 年前

    哦,经理们怎么会喜欢“我也知道这一点,我想和它一起玩”的东西。

    将图像存储在服务器上 . 通过这种方式,他们可以使用Windows资源管理器查看/放置/复制/修改图像。他们已经知道怎么做了,而且你不必在以后写很多自定义代码来“我想能够X图像…”。

        2
  •  2
  •   Your Common Sense    15 年前

    如Konerak所说,将图像存储在服务器上。
    但不是在数据库中,而是作为一个文件。
    如果需要,他们的名字可以存储在数据库中。

    简单明了,而且 自然的 方式

        3
  •  2
  •   Entendu    15 年前

    首先,将两个图像存储为二进制 对象直接进入MySQL;

    努奥…不。。只需花一个月的时间,PHB就可以上传10MP的图片,让你开始哭叔叔。

    第二,只存储图像的URL 把照片放在某个地方 服务器。

    是的,一千次是的。将原始文件存储在一个位置,而最新的编辑则存储在另一个位置。

        4
  •  1
  •   Alexander Torstling    15 年前

    我觉得两个都不好。数据库中的映像会导致连接池故障,而外部的映像则会导致一致性噩梦。

    对于第一个版本,我将把所有东西都放在数据库中,如果您没有太多的用户,这就足够好了。如果成功的话,可以考虑一个集成的解决方案来处理这两种类型的数据,比如jcr,对于php jackalope . 虽然有点复杂,但我希望有更好的解决方案。

    JCR有WebDAV绑定,因此您的管理者可以根据需要在资源管理器中导航整个目录树。但我认为这不是个好主意。一种解决方案是让他们通过WebDAV播放,并始终在结尾处回滚tx:。