Может ли Dropzone. js запускать то же событие, что и обычные входы для изображения? - PullRequest
0 голосов
/ 07 апреля 2020

Я пытался создать дропзону только для изображений, и я не смог этого сделать, но на самом деле я обнаружил, что нормальные входы имеют именно то поведение, которое я хотел для моей дропзоны на мобильном телефоне.

<input type="file" accept="image/*">

При нажатии делает следующее:

normal input image selection screen

Что приятно и чисто, вы можете сделать снимок или выбрать нужное изображение из вашей галереи

Или я могу использовать зону сброса, которая при нажатии приводит к следующему:

dropzone image selector

Этот способ выбора не что я хочу, потому что, если вы хотите, чтобы изображение в вашей галерее, вы должны go там из всех файлов вашего устройства. (это все на android)

Итак, я хочу первый режим, но я могу сделать две вещи:

1- Когда я получаю файл с обычного ввода, добавьте это в dropzone, но я не смог найти способ сделать это правильно, как метод .add, и добавление его непосредственно в hiddenFileInput в dropzone не вызывало события и не передавало изображение файла в dropzone.

2- (предпочтительно) Установите селектор по умолчанию, когда щелкают по рабочей зоне, так же, как и обычный метод ввода. Я попытался установить для параметра hiddenFileInput значение accept="image/*", но оно все равно идет, как на втором изображении.

Я пробовал много других вещей, но никто из них не говорил, что кто-то должен работать. Я был в этот дырявый день и через форумы, но не мог найти многое, связанное с тем, что я хочу. Я пытался прочитать код dropzone, пытаясь найти что-то другое, но мне не помогло, потому что я понятия не имею, что заставляет два входа работать по-разному. В google на android он работает так, как я показал, но в iphone оба входа работают одинаково.

Если не решение, у кого-нибудь есть идея, почему они не делают то же самое? предмет?

Спасибо за помощь, надеюсь, что я достаточно ясно.

Редактировать

Я нашел решение этого парня на Как загрузить фотографию из галереи в Android на сайт с Dropzone js? для изменения исходного кода dropzone, но я немного боялся изменить код библиотеки, и у меня есть другие dropzone, но если я не приду к другому решению Я подумываю попробовать.

Edit2

Я попробовал это ({ ссылка }) решение. Я до сих пор не уверен, почему, но если я положу его отдельно в другой файл, он будет работать, как и ожидалось, но если я добавлю что-нибудь на мою страницу, он будет работать точно так же, как и другой (вторая печать). Мне интересно, могу ли я что-то сделать с моими файлами, чтобы изменить поведение Dropzone, но я не смог найти ничего подобного. Если кто-то имеет представление о том, что может повлиять на поведение Dropzone, это уже помогает. (Я не уверен, правильно ли продолжать редактирование вопроса, чтобы добавить больше информации к нерешенной проблеме. Если это не так, пожалуйста, скажите мне, чтобы я мог снять изменения)

Окончательное редактирование

Хорошо, проблема решена! Как, ты меня спрашиваешь? Понятия не имею! Я так много испортил своей системой, пытаясь заставить ее работать, что больше не мог go вернуться, поэтому я сбросил на HEAD с git. Затем я попробовал самое первое, что попробовал в начале, и это сработало. Я понятия не имею, почему, и я не знаю, как закрыть мою проблему здесь. Первое, что я попробовал, если у вас возникла та же проблема, было вручную создать дропзону и установить для нее значение

acceptedFiles = "image/*"

, как предлагает второй редактор. После более чем одного дня поиска я обнаружил, что это как-то связано с другой частью системы. Удаляя вещи из кода, я в итоге заставил его работать, но не уверен, что я удалил. Если пойти по этому пути, то, возможно, я что-то найду, но, поскольку это уже решено, мой решатель проблем - второй редактор. Спасибо за вашу помощь, ребята

...