Чтобы скачать файл формата xlsx в формате Blob по прямой ссылке в JavaScript и сохранить его в сторе, нужно выполнить следующие шаги:
- Создайте объект XHR (XMLHttpRequest), который позволит вам отправлять HTTP-запросы. Вы можете сделать это с помощью конструктора
new XMLHttpRequest()
.
- Откройте XHR-запрос, используя метод
open()
. Укажите метод запроса, который скачивает файл (обычно это GET), и указывается url-адрес файла, который нужно скачать.
var xhr = new XMLHttpRequest(); xhr.open('GET', 'https://example.com/path/to/file.xlsx', true);
- Установите responseType объекта XHR в 'blob', чтобы сказать браузеру, что вы ожидаете получить файл в формате Blob.
xhr.responseType = 'blob';
- Установите обработчик события
onload
, который будет вызываться после успешного завершения запроса.
xhr.onload = function(event) { if (xhr.status === 200) { var blob = xhr.response; // получаем Blob-объект из ответа XHR // Далее мы сохраняем Blob в локальном хранилище var reader = new FileReader(); reader.onloadend = function() { var fileData = reader.result; localStorage.setItem('fileData', fileData); }; reader.readAsDataURL(blob); } };
- Отправьте запрос с помощью метода
send()
объекта XHR.
xhr.send();
- После выполнения запроса, файл будет загружен и сохранен в формате Blob в локальном хранилище под ключом
fileData
. Вы можете использовать любой другой ключ по своему усмотрению.
var fileData = localStorage.getItem('fileData');
Таким образом, вы успешно скачали файл xlsx в формате Blob по прямой ссылке и сохранили его в сторе.