其实,你的榜样是适当的方式链接到文件:
<a href="my-program.zip">download my program</a>
你永远无法肯定地告诉该浏览器无法查看文件。你只需链接到它;这取决于浏览器如何做到他们认为最好的 - 显示,下载或执行其他操作。别担心,浏览器通常会做正确的事情。
这遵循网络的原理,您不知道浏览器将如何处理您发送的文件和页面。你提到了一个ZIP文件,但想到PDF文件。它们就像一个ZIP文件:它们不是HTML,它们不是用于浏览器的,浏览器可能会下载它。但是有一些插件,如Adobe PDF Reader和Schubert’s PDF Browser Plugin,它们在浏览器中显示PDF文件的内容。同样,假设可能有一个浏览器的ZIP文件浏览器 - 它可能会向用户显示浏览器中ZIP文件的内容,并让用户决定在哪里提取这些内容。
大多数浏览器不要有描述的假想的ZIP文件查看器,所以该文件将只是下载,就像你想要的。但那并不重要;只要写下你的链接,一切都会好的。
浏览器可以做的事情之外,查看文件或立即下载文件。它也可以询问用户是否要下载文件。或者它可以开始下载文件,在其中检测病毒,并立即删除它。关键是,它取决于浏览器对文件的处理。
请注意,此政策是另一种方式。你的HTML页面看起来像浏览器一样 - 它们都是“资源”。 “资源”是“URL”中的“R”。当您通过访问URL访问HTML页面时,浏览器认为“这是一个HTML资源。我该怎么做?哦,我可以在主窗口中显示它 - 我会这样做的。“这与单击指向其URL的链接下载ZIP文件的过程相同,它认为”这是ZIP资源。我该怎么做?我不能显示它 - 我想我会开始下载并打开下载窗口,使用户可以看到发生了什么“大多数浏览器,甚至让你下载一个网页的HTML就像一个文件,如果你问它。 。
如果您有多种格式的文件,并且希望让浏览器选择可以查看的最佳文件格式,那么您可以使用HTTP Accept header设置系统。例如,如果您的ZIP和RAR版本是我的程序,那么您可以将它链接到my-program
,然后浏览器选择最喜欢的版本。但是这种设置可能会很复杂,而且这种系统通常不需要仅仅用于文件下载。Accept头通常是用来获取的东西正确版本的浏览器是为了视图 - 例如,因为它没有任何编解码器,可以播放浏览器可能会选择通过WMV视频文件的MP4视频文件嵌入WMV视频。
如果要强制浏览器下载文件即使浏览器或许可以查看它自身,看到this question。
发帖和自我回答,因为我记得有关于HTML这个问题时,我很多年前就开始学习英语。 –