"下载"而不是"打开"文本文件

RAY*_*RAY 9 javascript gwt

在GWT应用程序中,我希望有一个按钮,单击该按钮将下载给定URL的文件.它是带有.out后缀的纯文本日志文件(不是html).

我的第一次尝试是使用"window.open()"(尝试了gwt和本地javascript window.open)

不幸的是,浏览器(试过chrome和firefox等)试图变得聪明,并注意到文件是文本文件,因此在弹出窗口中显示内容,而不是下载它.更糟糕的是,似乎浏览器正在渲染.out文件,好像它是html一样,并且弄乱了所有的换行符和标签(基本上是任何空格).

我无法控制为.out文件提供服务的http服务器.所以我正在寻找客户端解决方案.

有人可以为我建议一个解决方案吗?

谢谢.

Thi*_*ter 8

如果不修改来自服务器的标头,则无法实现.

现代浏览器支持标签中的download属性<a>,允许您从普通链接触发下载:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#Attributes

不幸的是,IE11不是一个"现代浏览器".


Sar*_*rim 7

使用html5,现在可以.在元素中设置"下载"attr.

<a href="http://link/to/file" download="FileName">Download it!</a>
Run Code Online (Sandbox Code Playgroud)

资料来源:http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download