Показать сообщение отдельно
  #2 (permalink)  
Старый 04.07.2023, 17:27
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,748

Если браузер может загрузить этот файл с сервера, то он сможет его выгрузить его на компьютер пользователя. Естественно с согласия пользователя.
Примерно такая последовательность действий
// Загрузить файл с сервера в виде Blob
const res = await fetch ('url на сервере');
const blob = await res.blob();

//Создать ObjectURL на этот Blob
const hrefurl =  window.URL.createObjectURL(blob);

//Создать с помощью js элемент <а> с href с  этим ObjectURL и атрибутом downloal
const a = document.createElement ('a');
a.download = '';
a.href = hrefurl;
//Проимитировать клик на элементе a
a.click();


Но это все возможно, если скрипту разрешено загружать этот файл. Если страница и файл с одного сервера, то обычно можно. Если с разных доменов, то могут быть (скорее всего будут) ошибки CORS. Сервер должен послать вместе с файлами соответствующие заголовки, разрешающие загрузку.

Последний раз редактировалось voraa, 04.07.2023 в 17:36.
Ответить с цитированием