例如,假设我的应用程序发送一封带有二进制附件(例如somedata.xlsx
)的邮件。在制作邮件消息(以编程方式)时,我可以
只需将附件的 MIME 类型设置为
application/octet-stream
或根据文件的实际内容(例如
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
,上述somedata.xlsx
文件)设置“正确”的 MIME 类型。
我们也假设
- 我知道文件的实际内容(所以选项 2 是可行的),
- 该文件始终是二进制的(即人类不可读的)并且
- 所有收件人都位于“企业 Windows 世界”中,其中文件扩展名是指定文件类型的事实上的标准。
为什么我要经历使用不同 MIME 类型而不是application/octet-stream
-ing everyting 的麻烦?根据我的经验,xlsx
无论 MIME 类型是application/octet-stream
还是application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.
这只是一种好的做法²还是会产生真正的实际差异?
¹ 即,在 Windows 系统上,在注册表中查找xlsx
处理程序并启动它以打开文件。
² 就我个人而言,我认为“良好实践”是一个很好的理由。但是,出于科学好奇心,我对它是否会产生实际影响感兴趣。