Задать вопрос
VMesser
@VMesser
gitter.im/VBA-developers

Как при помощи JS скачать файл и сразу поместить его на форму?

Добрый день.
Задача: на веб-странице по кнопке получить файл со стороннего ресурса и положить его на эту страницу в форму. Чтобы потом сохранить по кнопке сохранения.

Как можно положить скачанный файл на форму, чтобы он без проблем сохранился?
  • Вопрос задан
  • 117 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@timau32
через input type="file" и просто наложить хендлер на onChange и через event получить file и конвертировать на блоб ссылку через URL.createObjectURL(file). И данную ссылку кидаешь в тег img
Ответ написан
nuykon
@nuykon
Full Stack Developer
Примерно как-то так, может где-то немного ошибся в синтаксисе...

const response = await fetch('/files/test.zip');

const blob = await response.blob(); // скачиваем как Blob-объект

const dataTransfer  = new DataTransfer();

dataTransfer.items.add(new File([blob], 'test.zip', {type: 'application/zip'}));

const fileList = dataTransfer.files;

console.dir(fileList);

// Аттачим файлы в поле вашей формы
document.querySelector('input[type="file"]').files = fileList;


Учтите что этот blob ляжет в оперативку пользователя, те для файлов в несколько гигабайт(да и наверное более 500мб) - это очень плохой способ, но других решений для вашей задачи средствами js - нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы