没有。
如果知道,内容类型应该是已知的任何类型。application/octet-stream
在RFC 2046中被定义为“任意二进制数据”,在这里有一定的重叠之处,适用于其唯一的预期用途是保存到磁盘,并且从此以后不在任何“ webby”之外的实体。或从另一个方向来看它;安全地使用application / octet-stream唯一可以做的就是将其保存到文件中,并希望其他人知道它的用途。
您可以将的使用Content-Disposition
与其他内容类型结合使用,例如image/png
或什text/html
至表示您要保存而不是显示。过去,某些浏览器会在以下情况下忽略它:text/html
但我认为这是很久以前的事情了(而且我很快就要睡觉了,所以我不会开始测试一大堆)浏览器;也许以后再浏览)。
RFC 2616还提到了扩展令牌的可能性,如今,大多数浏览器都意识到inline
,如果可能的话,您确实希望显示该实体(也就是说,如果该类型浏览器知道如何显示,否则就别无选择了) 。无论如何,这当然是默认行为,但这意味着您可以包括filename
浏览器将使用的标头部分(可能进行了一些调整,因此文件扩展名与所涉及内容类型的本地系统规范相匹配,也许没有)。作为用户是否尝试保存的建议。
因此:
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="picture.png"
表示“我不知道这到底是什么。请将其另存为文件,最好命名为picture.png”。
Content-Type: image/png
Content-Disposition: attachment; filename="picture.png"
表示“这是PNG图片。请另存为文件,最好命名为picture.png”。
Content-Type: image/png
Content-Disposition: inline; filename="picture.png"
表示“这是一个PNG图片。除非您不知道如何显示PNG图片,否则请显示它。否则,或者如果用户选择保存它,我们建议将图片另存为文件的名称” picture.png”。
在那些能够识别inline
某些浏览器的浏览器中,始终会使用它,而如果用户选择了“将链接另存为”,而其他浏览器则会使用它,但如果用户在查看时选择了“保存”,则不会使用它(或者至少是IE曾经这样)。可能在几年前发生了变化)。