Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему не работает drag n drop upload в Хроме? (https://javascript.ru/forum/misc/82344-pochemu-ne-rabotaet-drag-n-drop-upload-v-khrome.html)

CryNet 21.04.2021 18:02

Почему не работает drag n drop upload в Хроме?
 
Вложений: 1
Как сделать драг-н-дроп загрузку файлов, чтобы это работало во всех браузерах?
Есть скрипт: https://codesandbox.io/s/crimson-nig...=/src/index.js
Если перетащить две картинки в DnD зону и отпустить, то в ФФ всё ок, а в Хроме файлов нет (см. скрин)

P.S. стащите себе файлы, а то что-то на codesandbox.io это и в ФФ работает калично

Или просто гляньте реализацию DnD из того же мозиловского MDN-а: http://jsfiddle.net/kgzevn5w/ -- это другая реализация, но там тоже это не работает

Скрин: https://ibb.co/8sSZjKM

Nexus 21.04.2021 18:33

У меня и там, и там все работает прекрасно.
Win10 v20H2, Chrome v89.0.4389.128

Alexandroppolus 21.04.2021 19:46

Цитата:

Сообщение от CryNet
в Хроме файлов нет (см. скрин)

ты передай в консоль не event.dataTransfer, а event.dataTransfer.files[0], тогда всё будет видно :)

скорее всего, в хроме переиспользуются экземпляры dataTransfer, и потому сразу очищаются по завершении обработки события.

CryNet 21.04.2021 21:49

Alexandroppolus, хорошо, а если я хочу передать эти файлы на бэк? Мне же их нужно где-то хранить, чтобы не потерять и передать сами файлы по клику. То как мне быть, если dataTransfer пустой? Или я смогу их получить?

Alexandroppolus 22.04.2021 00:13

просто сохранить event.dataTransfer.files в какую-нибудь переменную. Эта коллекция не будет очищена, в отличии от event.dataTransfer

CryNet 22.04.2021 09:38

Alexandroppolus, да, при event.dataTransfer.files[0] я вижу файл. Но все равно иногда в консоли, если вывести event.dataTransfer.files[0], иногда бывает undefined: http://jsfiddle.net/3mLxqefy/1/

Попробуйте поперезагружать страничку и покидать разные картинки

CryNet 22.04.2021 09:49

Alexandroppolus,
У меня проект на Реакте. То вот даже в библиотеках видимо проскакивает undefined, и файл не грузиться: https://codesandbox.io/s/react-dropz...rc/Uploader.js

Nexus 22.04.2021 10:44

Цитата:

Сообщение от CryNet
То вот даже в библиотеках видимо проскакивает undefined, и файл не грузиться:

Может у вас расширение какое стоит?
У меня и здесь ничего не "проскакивает", все работает как и положено.

P.S. это значения не имеет, но пытаюсь перетащить два одинаковых jpg-файла размером в 77кб.

CryNet 22.04.2021 11:05

Nexus, та я в инкогнито открываю вкладку :stop:
Странно всё это


Часовой пояс GMT +3, время: 09:54.