Я пытался создать дропзону только для изображений, и я не смог этого сделать, но на самом деле я обнаружил, что нормальные входы имеют именно то поведение, которое я хотел для моей дропзоны на мобильном телефоне.
<input type="file" accept="image/*">
При нажатии делает следующее:
Что приятно и чисто, вы можете сделать снимок или выбрать нужное изображение из вашей галереи
Или я могу использовать зону сброса, которая при нажатии приводит к следующему:
Этот способ выбора не что я хочу, потому что, если вы хотите, чтобы изображение в вашей галерее, вы должны 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/*"
, как предлагает второй редактор. После более чем одного дня поиска я обнаружил, что это как-то связано с другой частью системы. Удаляя вещи из кода, я в итоге заставил его работать, но не уверен, что я удалил. Если пойти по этому пути, то, возможно, я что-то найду, но, поскольку это уже решено, мой решатель проблем - второй редактор. Спасибо за вашу помощь, ребята