已解决:查看以下标记为已解决的答案。感谢。
我正在尝试从点击时由url指定的位置下载文件。我正在使用委托,但是当按钮单击浏览器时,导航到文件的位置并显示内容。我希望点击触发浏览器的下载对话框。
以下是代码:
$('#left').delegate("a", "click", function(event){
//alert("CLICKED");
event.preventDefault();
window.location.href = url;
});
有关此问题的所有帖子都说使用“event.preventDefault();”但这对我不起作用。有没有人有任何建议?
答案 0 :(得分:4)
您可能需要更改服务器端(如果可以)。
http响应必须包含标题:
Content-disposition: attachment; filename=fname.ext
因此浏览器知道它必须打开下载对话框。否则,浏览器将尝试打开/预览它。
更多信息:
答案 1 :(得分:1)
解决: 以下php脚本允许使用文件提示浏览器对话框:
header('Content-Disposition: attachment; filename="' . $filename . '"');
$fp=fopen($filepath,'r');
fpassthru($fp);
fclose($fp);
谢谢deantoni带领我走向正确的方向=)。