我试图下载文本文件,当按下CTRL(17)时,它工作正常,但现在我的代码在按下CTRL时工作,然后添加属性以下载'按钮,然后开始下载。
有任何解决方案可做:按下CTRL后开始下载,无需按下'下载'按钮?
else if (e.originalEvent.keyCode === 17)
{
var file_name = e.target.innerText;
var path = "files/" + file_name;
var rawFile = new XMLHttpRequest();
rawFile.open("GET", path, false);
rawFile.onreadystatechange = function ()
{
var allText = rawFile.responseText;
var fileName = file_name;
var myFile = new Blob([allText], {type: 'text/plain'});
window.URL = window.URL || window.webkitURL;
document.getElementById('download').setAttribute('href', window.URL.createObjectURL(myFile));
document.getElementById('download').setAttribute('download', fileName);
};
rawFile.send(null);
}
答案 0 :(得分:0)
var file_name = e.target.innerText;
var path = "files/" + file_name;
var rawFile = new XMLHttpRequest();
rawFile.open("GET", path, false);
rawFile.onreadystatechange = function ()
{
var allText = rawFile.responseText;
var fileName = file_name;
var myFile = new Blob([allText], {type: 'text/plain'});
window.URL = window.URL || window.webkitURL;
document.getElementById('download').setAttribute('href', window.URL.createObjectURL(myFile));
document.getElementById('download').setAttribute('download', fileName);
$("#download").click();//click here
};
rawFile.send(null);
您可以通过编程方式单击该项目。您可以在设置属性后执行此操作。
答案 1 :(得分:0)
如果有人关心,这就是答案:
document.getElementById("download").click();
谢谢顺便说一下:)