当用户访问我们网站的下载页面时,它会自动开始下载。该页面包含display:hidden
iframe,src
指向安装程序文件
<iframe src="/path/to/installer.dmg"></iframe>
到目前为止,此工作正常。但我的Chrome扩展程序:“Web开发人员”会记录此警告消息
Resource interpreted as Document but transferred with MIME type application/octet-stream
那么,有没有办法将installer.dmg的content-type显式声明为octet-stream,以便浏览器不会混淆?
答案 0 :(得分:7)
由于之前的答案之一引用了断开的链接,我将在此处给出答案。
如果您尝试使用特定扩展名指定mime类型的文件,可以将其添加到.htaccess:
AddType application/octet-stream .dmg
但是,这并不能保证浏览器会“下载”该文件。例如,Chrome无法识别这一点。因此,这是一种强制某种类型的文件“下载”的方法:
<FilesMatch "\.(?i:dmg)$">
ForceType application/octet-stream
Header set Content-Disposition attachment
</FilesMatch>
扩展名(dmg)附近的一点正则表达式只是为了使它不区分大小写。
您可能需要在浏览器缓存正常工作之前清除它。
适用于最新的Chrome,Firefox和IE8(截至2013年8月)。我没有在最新的IE或Safari中测试过,所以如果有人有这些浏览器并且可以对它们进行测试,请在下面的评论中确认它们有效。
答案 1 :(得分:0)
This page就可以满足您的需求。基本上你所做的就是告诉apache任何扩展名为.dmg的文件都有mime-type application / octet-stream。
答案 2 :(得分:0)
将这些行插入到您的vhost配置中的docroot目录中:
<Directory path/of/your/docroot/directory>
<Files path/of/your/file>
Header set Content-type "mime/type"
</Files>
</Directory>
答案 3 :(得分:-1)
问题是您使用安装程序文件作为网页 您可以做的是在文档准备好的弹出窗口中打开安装程序页面 你可以读这个(用jquery):http://choosedaily.com/1178/15-jquery-popup-modal-dialog-plugins-tutorials/ 或者这个(没有jquery):http://www.quirksmode.org/js/popup.html