Почему не работает 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 |
У меня и там, и там все работает прекрасно.
Win10 v20H2, Chrome v89.0.4389.128 |
Цитата:
скорее всего, в хроме переиспользуются экземпляры dataTransfer, и потому сразу очищаются по завершении обработки события. |
Alexandroppolus, хорошо, а если я хочу передать эти файлы на бэк? Мне же их нужно где-то хранить, чтобы не потерять и передать сами файлы по клику. То как мне быть, если dataTransfer пустой? Или я смогу их получить?
|
просто сохранить event.dataTransfer.files в какую-нибудь переменную. Эта коллекция не будет очищена, в отличии от event.dataTransfer
|
Alexandroppolus, да, при event.dataTransfer.files[0] я вижу файл. Но все равно иногда в консоли, если вывести event.dataTransfer.files[0], иногда бывает undefined: http://jsfiddle.net/3mLxqefy/1/
Попробуйте поперезагружать страничку и покидать разные картинки |
Alexandroppolus,
У меня проект на Реакте. То вот даже в библиотеках видимо проскакивает undefined, и файл не грузиться: https://codesandbox.io/s/react-dropz...rc/Uploader.js |
Цитата:
У меня и здесь ничего не "проскакивает", все работает как и положено. P.S. это значения не имеет, но пытаюсь перетащить два одинаковых jpg-файла размером в 77кб. |
Nexus, та я в инкогнито открываю вкладку :stop:
Странно всё это |
Часовой пояс GMT +3, время: 09:54. |