1

我目前正在 Apex 中开发应用程序,但我迷路了。我的要求是,在将鼠标悬停在员工表中的姓名/姓氏列上时,它应该带来员工的形象。图像不应存储在数据库中,而应通过指向...的指针存储在 FTP 中?为数据库存储图像而不是在数据库中存储图像的最佳做法是什么?我知道这是一个复杂的问题,有很多步骤,因此我们将不胜感激。

4

1 回答 1

1

正如 Jeffrey 所说(我会在评论中做出反应,但后来我开始打字......),您将必须决定如何以及在何处存储图像。Blob 列已经不存在了,因此必须将它们放在某个文件系统上。例如,这可以是您的 apex_images 文件夹,也可以是服务器上其他任何位置的文件夹。您始终可以通过img在应用程序的页面上设置标签、将src属性设置为图像位置来进行检查。
另一个考虑因素是您将如何将图像链接到员工,以及如何维护图像。
他们的文件名是什么?凭身份证?按员工姓名?
我也遇到过这种情况,这也是一个巨大的麻烦。我收到了一个文件夹,里面有图片,都编号了。当然,直到出现一些异常情况:有些人的号码相同,因为他们只使用了唯一密钥的一部分。还有许多错误命名的图片:z.jpg, x.jpg, zzz.jpg, bob.jpg, mary.jpg.

如果要取名字,怎么取?以及如何处理名称中的特殊符号,例如重音符号: 如果人力资源部会这样做,您必须仔细解释这些步骤:创建员工,复制 ID 字段(老实说,这对他们 - 理所当然地如此),并准确命名jpgé,à,ç,... . 当然很重要,因为您可能无法将图像链接到员工,因为他们的名称包含特殊字符,但图像文件没有。那么长名或中间名呢?Maria De La Santagosa-Gurça完全随机的名字,但你明白我的意思。这可能是某人的真实姓名,尽管通常使用的名字是Maria Santagosa,这真的并不太牵强。
假设您将给图像一个唯一的键值,例如ID您的员工记录的生成字段。
也许可以制作图像,可以将名称复制并粘贴到员工记录的列中。我想最重要的问题是:谁来维护这些照片?
这种方式 .
另一个考虑因素是文件类型,以及它们是否会混淆(再次:谁来维护?)。
那么尺寸呢?是缩略图还是大尺寸?浏览器会调整它们的大小吗?可能需要考虑数据库的大小和图像数量,以及系统的负载。如果不需要大图片,那么每次都将这些大图片拖到线条上是不合格的。

当我说这些图片时请相信我与员工不匹配的图像很常见时,请相信我,您应该意识到这一点。在我看来,这只是文件系统更容易被篡改的情况,它会在数据库记录上。

或许考虑一下不再选择数据库存储的原因。同样,在我看来,个人资料图片与员工姓名一样多是结构化数据,并且在数据库中的位置比在文件系统中的位置更多。维护员工的形象甚至并不难。HR 可能会有一个维护应用程序,他们可以在其中查看和编辑员工的所有详细信息。显示图像将是微不足道的,并且提供更新和删除方法同样重要。

我不会详细介绍提供浮动图像的细节。首先决定存储位置和细节,然后进行下一步设置 img 标签,看看它是如何工作的。然后设置单个img标签,并使用 javascript 动态更改src标签的。接下来是浮动选择。

于 2012-10-04T07:46:16.177 回答