【问题标题】:SQL: Saving MIME-Type or Extension?SQL:保存 MIME 类型或扩展名?
【发布时间】:2012-05-19 19:46:51
【问题描述】:

在数据库中存储有关 BLOB 的信息的最佳方式是什么?文件扩展名(.txt、.rar)还是 MIME 类型?

此外,还有什么更好的方法:存储带有或不带有扩展名的文件名(“file”或“file.txt”)?

我主要谈论的是桌面应用程序,而不是 Web 应用程序。

【问题讨论】:

    标签: c# sql file blob


    【解决方案1】:

    例如,如果我们谈论文件上传存储,我将始终存储以下字段:

    • 文件 - varbinary(MAX)
    • 文件名 - nvarchar(255)(包括文件扩展名,例如“myfile.txt”)
    • FileType - nvarchar(255)(MIME 类型)

    如果 MIME 类型是基于 Web 的应用程序并且您希望允许在某些时候下载文件,则 MIME 类型很重要。拥有 MIME 类型可以让您告诉浏览器如何最好地处理文件。

    因此,您的问题的直接答案是保存 MIME 类型和扩展名。原因是您无法确保提供了正确的文件扩展名,因此您需要 MIME 类型来识别文件类型。但是您应该使用文件名存储扩展名,以便在下载时提供有效的文件名。

    【讨论】:

    • 感谢您的想法,听起来很合理。我主要谈论的是桌面应用程序,而不是 Web 应用程序。
    • @SeToY:即使您现在不需要它们,我仍然会始终存储所有 3 位数据。因为如果你一开始不这样做,以后就很难获得信息。在这种情况下,您应该为您的需求变化做好准备。也许你为数据提供了一个门户网站,也许你决定做一个“应用内文件阅读器”。
    • 好的,所以存储 MIME-Type 总是比存储扩展更好。谢谢! :)
    猜你喜欢
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 2018-01-20
    • 2010-10-03
    • 2010-12-09
    相关资源
    最近更新 更多