我在一个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文件做同样的事吗?
答案 0 :(得分:1)
你有:
Response.AppendHeader("content-disposition", "attachment; filename=PublicKeyCertificate.cer")
来自the spec:
如果处置类型匹配"附件" (不区分大小写),这表示收件人应提示用户在本地保存响应,而不是正常处理(根据其媒体类型)。
另一方面,如果匹配"内联" (不区分大小写), 这意味着默认处理。因此,配置类型 "直列"只有在使用附加功能进行扩充时才有用 参数,例如文件名(见下文)。
您需要将内容处置设置为inline
而不是attachment
。
然后,浏览器将使用其本机处理来处理它。在许多情况下,这将在适当的首选项窗口(对于具有内部证书处理的浏览器)或用于管理证书的系统工具(对于挂钩到操作系统以进行证书处理的浏览器)打开它。