自定义文件扩展名在文件资源管理器中运行

时间:2017-07-28 22:31:23

标签: c# browser mime-types

我想要一个C#winforms应用程序,我已经编写了自动摘要pdf文件...所以,我在我的安装程序安装程序中注册了类型.webprintpdf。并且......我已经将名为test.pdf的文件重命名为test.webprintpdf ...当我在文件资源管理器中双击该文件时......我的应用程序会自动打开它。

但是在我的HTML中我有这段代码......

<script language="JavaScript">window.location.href = 'test.webprintpdf';</script>

注意:此文件的mimetype设置为“application / octet-stream”。

所有浏览器都下载了该文件......但是没有人想要使用我的应用程序打开它。

使用Firefox和Chrome它默认保存...当我尝试打开它时,我的应用程序没有显示在可能的“帮助”应用程序列表中...但是如果我浏览到我的可执行文件它工作正常。但是,在这两种情况下,“另存为默认值”已禁用或不可用。

在IE中...文件的文本只显示在浏览器窗口中。

1 个答案:

答案 0 :(得分:0)

如果您希望在浏览器外部打开文档,则需要设置以下标题:

content-disposition: attachment; filename=xxx.webprintpdf

否则浏览器将尝试内联处理文档。

另外,请确保您的标头允许缓存内容(即 设置HttpCacheability.NoCache),否则浏览器将始终显示“另存为”对话框因为它无法缓存文件以在应用程序中打开它。