2011-09-27 51 views

回答

1

我建议将图像存储在某种NAS或某些其他位置,并将图像的路径与其他数据一起存储在数据库中。

您可以将图像存储在数据库中,但从数据库检索图像并将其呈现给用户(这并不会很好)。可能会出现性能问题

+0

感谢@harigm提供​​了非常及时的答复。对。同意,如果我将图像存储在数据库中,性能可能会受到影响。将按照您的建议将它们存储在单独的文件夹中。我还有一个问题。我们可以将图像和文本存储在一个blob字段中吗? –

+0

@Ravi,我不认为它可能,还没有尝试过,但 – gmhk

1

MySQL很好地处理图像。您将它们插入到BLOB中。另一方面,您可以将图像文件名和路径或链接存储为数据库中的文本。

哪个解决方案最好取决于您的应用程序的要求。一般情况下,如果你有大量的图像,你的数据库将变得巨大,备份速度会变慢。为了存储大量图像,可能会对文件系统产生类似的影响。

以下是有趣的微软To BLOB or not to BLOB论文,它将为您提供有关该主题甚至某些指标的更多信息。

+0

感谢分享链接@Costis。还有一个问题。我可以在mysql中的单个blob字段中共享图像和文本吗? –

+0

我会将文本保存在名为“description”的Varchar字段中。这样你可以避免合并和提取算法,这会不必要地降低你的速度。这将允许您另外通过描述搜索图像。 –

0

我会回应@harigm和@Costis Aivalis给出的答案,但是如果您真的想“全力以赴”地将HTML内容和图像存储在同一个BLOB中,为什么不看看RFC 2557它允许您使用url scheme data:将二进制数据(如图像)放在文档本身中。为了完成这项工作,您需要在HTML返回到服务器时进行解析,并将base64编码为放置在HTML中的所有图像,相当多的工作对于可能只会带来微不足道的回报。

+0

我发现这个网页:http://rifers.org/blogs/gbevin/2005/4/11/embedding_images_inside_html,这很好地解释了这一点,并且意味着你不必阅读RFC。 – tribeca