我想在点击按钮时开始下载文件
我只有文件的路径。
我该如何开始下载?
这是我到目前为止所尝试的:
$('#download_button').click(function(){
var filepath = $(this).attr('data-filepath');
var do = '<a href="'+ filepath +'" download="file">file</a>';
$(body).append(do);
});
我做错了什么
我从不想重定向页面。
如果安装在客户端计算机上,则在浏览器或软件中下载启动以下载文件
答案 0 :(得分:6)
或者您也可以设置top.location
$('#download_button').click(function(){
var filepath = $(this).attr('data-filepath');
top.location.href = filepath;
});
答案 1 :(得分:3)
您无法强制在JavaScript中下载文件。
您可以执行的操作是location.href = "somefile.ext";
,但是如果服务器包含Content-Disposition: attachment
作为其响应标头之一,它将仅下载该文件请求。
答案 2 :(得分:0)
如果要将文件下载到客户端,请执行以下操作:
$('#download_button').click(function(){
var filepath = $(this).attr('data-filepath');
location.href = filepath;
});
location.href
会查找某个页面,但找不到任何内容,因此会下载该文件。
答案 3 :(得分:0)
您可以使用jQuery创建表单并使用submit函数。这不会更改地址栏中的URL。
$('#download_button').click(function(){
var filepath = $(this).attr('data-filepath');
var form = $('<form>').attr('action', filepath);
form.submit();
});