Показать сообщение отдельно
  #7 (permalink)  
Старый 05.07.2023, 16:00
Новичок на форуме
Отправить личное сообщение для Steven100500 Посмотреть профиль Найти все сообщения от Steven100500
 
Регистрация: 04.07.2023
Сообщений: 5

В общем, сделал передачу файла в виде текста base64 с последующей выгрузкой на комп пользователя следующим образом:
1) Отдельно прописал функцию
urlToFile: async function(url, filename, mimeType) {
const res = await fetch(url);
const buf = await res.arrayBuffer();
return new File([buf], filename, { type: mimeType });
}
2) при нажатии на кнопку вызывается функция:
$(`id_кнопы`).click(function (e) {
e.preventDefault();
if ("файл_преобразованный_в_те ст_в_формате_base64") {
(async () => {
const file = await self.urlToFile(
`data:text/plain;base64,${fileInfo.AddPhotoData.bFile}`,
`hello.${переменная_с_расширен ем_файла}`,
"text/plain"
);
let fileLink = window.URL.createObjectURL(file);
const a = document.createElement('a');
a.download = fileInfo.AddPhotoData.PhotoName;
a.href = fileLink;
a.click();
})();
}
}
PS self - модуль, в котором лежит функция urlToFile. Даже не модуль, а не знаю, как назвать - может , класс, может пространство имен, на которую указывает переменная self. Ну, и никто не мешает сделать импорт из модуля =)
Огромное спасибо за помощь!!!! Подсказали, куда копать.

Последний раз редактировалось Steven100500, 05.07.2023 в 16:05.
Ответить с цитированием