使用委派的单击按钮下载文件JQuery

时间:2012-02-15 17:11:50

标签: javascript jquery html


已解决:查看以下标记为已解决的答案。感谢。


我正在尝试从点击时由url指定的位置下载文件。我正在使用委托,但是当按钮单击浏览器时,导航到文件的位置并显示内容。我希望点击触发浏览器的下载对话框。

以下是代码:

$('#left').delegate("a", "click", function(event){
    //alert("CLICKED");

    event.preventDefault();
    window.location.href = url;

});

有关此问题的所有帖子都说使用“event.preventDefault();”但这对我不起作用。有没有人有任何建议?

2 个答案:

答案 0 :(得分:4)

您可能需要更改服务器端(如果可以)。

http响应必须包含标题:

Content-disposition: attachment; filename=fname.ext

因此浏览器知道它必须打开下载对话框。否则,浏览器将尝试打开/预览它。

更多信息:

Microsoft Support

答案 1 :(得分:1)


解决: 以下php脚本允许使用文件提示浏览器对话框:

header('Content-Disposition: attachment; filename="' . $filename . '"');
$fp=fopen($filepath,'r');
fpassthru($fp);
fclose($fp);

谢谢deantoni带领我走向正确的方向=)。