自定义文件扩展名适用于文件资源管理器,但不适用于浏览器
Custom file extensions works in File Explorer but not browsers
我想要一个我编写的 C# winforms 应用程序来自动消化 pdf 文件...所以,我在我的安装程序中注册了 .webprintpdf 类型。并且...我已将名为 test.pdf 的文件重命名为 test.webprintpdf...当我在文件资源管理器中双击该文件时...它会由我的应用程序自动打开。
但是在我的 html 我有这个代码...
<script language="JavaScript">window.location.href = 'test.webprintpdf';</script>
注意:此文件的 mimetype 设置为 "application/octet-stream"。
所有浏览器都会下载该文件...但其中 none 想要使用我的应用程序打开它。
使用 Firefox 和 Chrome 它默认保存...当我尝试打开它时,我的应用程序没有显示在可能的 "helper" 应用程序列表中...但是如果我浏览到我的可执行文件,它工作正常。但是,在这两种情况下,"Save as Default" 要么被禁用要么不可用。
在 IE 中...文件的文本直接显示在浏览器中 window。
如果您希望文档在浏览器外部打开,您需要设置以下内容header:
content-disposition: attachment; filename=xxx.webprintpdf
否则浏览器将尝试内联处理文档。
此外,请确保您的 header 允许缓存内容(即 而不是 设置 HttpCacheability.NoCache
) 否则浏览器将始终显示另存为对话框,因为它无法缓存文件以在应用程序中打开它。
我想要一个我编写的 C# winforms 应用程序来自动消化 pdf 文件...所以,我在我的安装程序中注册了 .webprintpdf 类型。并且...我已将名为 test.pdf 的文件重命名为 test.webprintpdf...当我在文件资源管理器中双击该文件时...它会由我的应用程序自动打开。
但是在我的 html 我有这个代码...
<script language="JavaScript">window.location.href = 'test.webprintpdf';</script>
注意:此文件的 mimetype 设置为 "application/octet-stream"。
所有浏览器都会下载该文件...但其中 none 想要使用我的应用程序打开它。
使用 Firefox 和 Chrome 它默认保存...当我尝试打开它时,我的应用程序没有显示在可能的 "helper" 应用程序列表中...但是如果我浏览到我的可执行文件,它工作正常。但是,在这两种情况下,"Save as Default" 要么被禁用要么不可用。
在 IE 中...文件的文本直接显示在浏览器中 window。
如果您希望文档在浏览器外部打开,您需要设置以下内容header:
content-disposition: attachment; filename=xxx.webprintpdf
否则浏览器将尝试内联处理文档。
此外,请确保您的 header 允许缓存内容(即 而不是 设置 HttpCacheability.NoCache
) 否则浏览器将始终显示另存为对话框,因为它无法缓存文件以在应用程序中打开它。