JS FileSaver не интерактивный
У меня есть массив файлов для сохранения с помощью цикла, и я генерирую имя каждого файла. Я хочу сохранить файл напрямую (не в интерактивном режиме) без запроса подтверждения. Как я могу сделать? Вот мой код для сохранения файла
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
1 ответ
Решение
Наконец, я нахожу решение, вместо того, чтобы сохранять файл, я пишу его, создавая новый.
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');
});
}