@scanerrr
I am a doctor

Как использовать ClipboardEvent либо DataTransfer в safari?

День добрый!

Есть у меня задача генерировать изображение из canvas и "пихать" его в
<input type="file" />

И делаю я это таким образом:
function renderPreview(blob, input) {
        const fileData = new ClipboardEvent('').clipboardData ||
            new DataTransfer();
        const file = new File([blob], "img.png", { type: 'image/png' });
        fileData.items.add(file);
        input.files = fileData.files;
}


В хроме все прекрасно работает, у input-а есть файл и я могу с ним работать так, как мне надо.

А вот в safari с этим проблемы.
Насколько я понял, он не умеет в конструктор ClipboardEvent, а в Edge нет конструктора File.

Мне по возможности нужно записать файл в input, если есть предложения, пожалуйста подскажите.
  • Вопрос задан
  • 340 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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