将类型存储在 DB 中时的最大 MIMEType 长度

Posted

技术标签:

【中文标题】将类型存储在 DB 中时的最大 MIMEType 长度【英文标题】:Maximum MIMEType Length when storing type in DB 【发布时间】:2010-10-13 05:20:27 【问题描述】:

人们在他们的数据库中使用什么作为 MIMEType 字段的长度?到目前为止我们看到的最长的是 72 字节:

application/vnd.openxmlformats-officedocument.wordprocessingml.document

但我只是在等待更长的时间。我们现在使用的是 250,但有人见过比这更长的 MIMEType 吗?

编辑:根据接受的答案,类型和子类型各为 127,因此最大为 254,加上“/”是组合值的 255 的限制。

【问题讨论】:

【参考方案1】:

根据 RFC 4288“媒体类型规范和注册程序”,类型(例如“应用程序”)和子类型(例如“vnd...”)都是can be max 127 characters。你做数学:)

编辑:同时,该文档已被RFC 6838 废弃,这并没有改变最大尺寸,但添加了一个备注:

另请注意,虽然此语法允许名称最多为 127 字符,实施限制可能会使名称如此长 有问题的。出于这个原因,<type-name><subtype-name> 应该 限制为 64 个字符。

【讨论】:

该死,我已经搜索过,但始终找不到好的参考。 对于那些数学不好的人,如果加上斜线,则为 127+1+127 = 255 有没有超过 127 个字符的 mime 类型的示例?我怀疑有很多?至少我从未见过,而且我认为它们在任何方面都不好。 数学不适合程序员 @burzum,这辆有 54 辆汽车application/x-nokia-9000-communicator-add-on-software,事实上并不存在具有 255 个字符的 MIME 类型,它只是关于将最大长度固定为 255 个字符的 RFC 4288 规范,所以“多久”这个问题得到了普遍的回答。

以上是关于将类型存储在 DB 中时的最大 MIMEType 长度的主要内容,如果未能解决你的问题,请参考以下文章

使用自定义 mimetype 表达 sendFile

将数据存储在 JSON 文件中时出现类型错误。(KivyMD Python)

为什么在将大于i32的数字存储到变量中时,我没有得到文字超出范围错误?

获取文件的 MimeType(内容类型)

使用 Apache tika 获取 MimeType 子类型

当您将合约存储在映射中时,实际存储了啥?