ioangrozniy
@ioangrozniy

Есть в node js или чистом javascript возможность работы с файлами из буфера обмена?

Есть задача, отправлять файлы на сервер по ctrl+c ctrl+v.
Может кто знает как это реализовать?
Как копировать в clipboard и доставать от туда текст статьи есть, а вот по поводу файлов инфы найти не могу.
Есть ли вообще такая возможность?
===============================================
Вопрос немного изменился. Получилось отправить файл только в FF, в остальных браузерах не получается.
в FF - e.clipboardData.items.lenght есть и в нём лежит файл, в остальных браузерах которых пробовал (Opera, Yandex, Chrome, IE) e.clipboardData.items.lenght равен 0 и там ничего нет.
Может в этих браузерах объект как то по другому кличется?
  • Вопрос задан
  • 544 просмотра
Пригласить эксперта
Ответы на вопрос 2
@RidgeA
Если в проводнике на файле нажать ctrl-c, то весь файл не копируется в буфер обмена, а только путь к нему (и, вроде, какая-то мета информация, что бы обозначить что это таки файл, а не просто строка с путем к файлу; представь, что кто-то скопирует в буфер обмена файл размером 10Гб, писать его в буфер обмена смысла нет в принципе), задача принимающего приложения обработать такую вставку корректно, если браузер этого не предоставляет, то ничего не получиться.
Ответ написан
@grinat
Судя по докам можно: https://developer.mozilla.org/en-US/docs/Web/Event...
clipboardData Read only DataTransfer The contents of the clipboard. Not only text, but also files and images.
В общем принцип действия получения файла такой же как и обычного текста, только вместо текста будет file. Затем считываем его через https://developer.mozilla.org/ru/docs/Web/API/File... помещаем в https://developer.mozilla.org/ru/docs/Web/API/FormData и передаем на сервер. Если файл большой, то в процессе считывания его через FileReader сохранять кусками и их передавать на сервер кусками, там уже склеивать.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы