Javascript JS FileSaver非交互式
我使用循环保存了一个文件数组,并生成了每个文件的名称。我想直接保存文件(以非交互方式),而不要求我确认。我该怎么办? 这是我保存文件的代码Javascript JS FileSaver非交互式,javascript,node.js,filesaver.js,Javascript,Node.js,Filesaver.js,我使用循环保存了一个文件数组,并生成了每个文件的名称。我想直接保存文件(以非交互方式),而不要求我确认。我该怎么办? 这是我保存文件的代码 var url = img.src.replace(/^data:image\/[^;]/, 'data:application/octet-stream'); var xhr = new XMLHttpRequest(); xhr.responseType = 'blob'; //Set the response type to blob so xhr
var url = img.src.replace(/^data:image\/[^;]/, 'data:application/octet-stream');
var xhr = new XMLHttpRequest();
xhr.responseType = 'blob'; //Set the response type to blob so xhr.response returns a blob
xhr.open('GET', url , true);
xhr.onreadystatechange = function () {
if (xhr.readyState == xhr.DONE) {
var filesaver = require('file-saver');
filesaver.saveAs(xhr.response, nameFile); // nameFile the name of file to be saved
}
};
xhr.send(); //Request is sent
最后,我找到了一个解决方案,不是保存文件,而是通过创建一个新文件来编写它
for (var i = 0; i < tabForm.length; i++) {
var imgData = $('#affichageqr')[0].childNodes[1].childNodes[0].src;
var data = imgData.replace(/^data:image\/\w+;base64,/, '');
fs.writeFile(qrcode.getNomQRCode()+'.jpeg', data, {encoding: 'base64'}, function(err){
if (err) {
console.log('err', err);
}
console.log('success');
});
}
for(变量i=0;i
据我所知,文件保护程序包无法以非交互式方式保存文件。您对用JS保存文件有什么建议吗?我能想到的最好办法是创建一个zip文件,打包所有文件,然后用一个保存弹出窗口将其交给用户。浏览器中没有自动保存文件的功能。这将是一个严重的安全风险。