我正在尝试编写一个使用Mandrill APIs发送带附件的电子邮件的课程。为此,我需要为base-64编码的附件内容提供MIME type of the attachment
。问题是如何获得它,假设使用附件的文件扩展名?
PS。我希望有一些比switch/case
长期更好的东西。但如果这是我唯一的选择,我在哪里可以获得最详尽的此类关联列表?
答案 0 :(得分:1)
您可以在以下任一位置查看注册表:
HKEY_CLASSES_ROOT\<file extension>\
并查看其是否有"Content Type"
值。
HKEY_CLASSES_ROOT\MIME\Database\Content Type\
,枚举每个子项,直到找到"Extension"
值包含文件扩展名的子项。
还有FindMimeFromData() function。
如果您找不到匹配的内容类型,则可以随时使用application/octet-stream
。
答案 1 :(得分:0)
除了在不同的答案中建议的内容之外,这里是一个硬编码的文件扩展名到MIME类型的关联列表,我从this Ruby project's JSON列表转换为C-struct。
糟糕,不能在这里发布。它太长了。而是Here's the file。