在php/asp.net应用程序中保存/加载img/file(word,excel等)的最佳方法是什么


What is the best way to save/load img/file(word,excel etc.) in php/asp.net application?

我目前是一名学生,我渴望成为一名优秀的Web开发人员:)

我想从事一些能够存储/检索图像或任何类型的文件(.doc,.xcl,.txt等)的"实践"项目。有人说最好将img/any文件存储在文件系统中,而不是将其保存在数据库中。

我想知道双方的利弊。

我还想知道在MySQL中存储imgs/文件的最佳数据类型是什么(我目前正在使用 longblob for PHP-MySQL)用于保存图像

我还想知道在SQL Server中存储imgs/文件的最佳数据类型是什么(我目前正在使用 SQL Server 2008 的 Asp.net Varbinary(max) )用于保存图像

最后,我只是好奇像Facebook和其他大型Web应用程序这样的网站如何存储img和文件。

先生/女士,您的回答将有很大帮助,非常感谢。谢谢++

Facebook使用大海捞针作为图像。

这是他们网站描述图像存储和检索的链接

http://www.facebook.com/note.php?note_id=76191543919

根据以前的经验,我建议不要将文件直接存储到 SQL 数据库中。

优点:存储在数据库中

  • 文件"永久"保存

  • 可以更轻松地限制对真实文件的访问

  • 从技术上讲,您可以检查重复的文件。

  • 您没有将文件保存在驱动器上,因此可以更快地访问服务器

  • 服务器上的文件更少被认为是"更好"和更有条理的

  • "一个文件处理所有内容"

缺点:

  • 如果站点已启动但数据库未启动,则文件将无效(通过"直接"链接)

  • 一些无法重新配置的数据库只允许 blob 具有一定的大小限制(几 MB),因此无法存储真正的大图像(但可以分离)

  • 将文件加载到(到变量)时,更多的数据存储在内存中;与上述问题类似,非常大的图像会降低服务器的速度。

  • 某些文件可能具有不同的字符编码,因此存储和/或检索文件可能会损坏原始文件。我不确定这是否是真正的问题,但我认为是。

我个人建议您不要再将文件存储在我的数据库中,因为缺点。