Html标题:打开文件而不是下载它

时间:2014-10-15 07:45:39

标签: html header cer

我在一个asp页面中有这个代码

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Response.AppendHeader("content-disposition", "attachment; filename=PublicKeyCertificate.cer")
    Response.ContentType = "application/x-x509-ca-cert"
    Response.BinaryWrite(Session("cerbytes"))
    Response.End()
End Sub

此代码下载.cer文件。而不是下载它,有没有办法打开它? 将content-type设置为application / pdf(大多数浏览器)时,请在新选项卡中打开pdf。我可以用cer文件做同样的事吗?

1 个答案:

答案 0 :(得分:1)

你有:

Response.AppendHeader("content-disposition", "attachment; filename=PublicKeyCertificate.cer")

来自the spec

  

如果处置类型匹配"附件" (不区分大小写),这表示收件人应提示用户在本地保存响应,而不是正常处理(根据其媒体类型)。

     

另一方面,如果匹配"内联" (不区分大小写),   这意味着默认处理。因此,配置类型   "直列"只有在使用附加功能进行扩充时才有用   参数,例如文件名(见下文)。

您需要将内容处置设置为inline而不是attachment

然后,浏览器将使用其本机处理来处理它。在许多情况下,这将在适当的首选项窗口(对于具有内部证书处理的浏览器)或用于管理证书的系统工具(对于挂钩到操作系统以进行证书处理的浏览器)打开它。