Проблема размера входного файла в Safari для выбора нескольких файлов
У меня возникают несоответствия в отношении загрузки нескольких файлов в Safari 5.1 в Windows Vista (не пробовал другие платформы). Элемент ввода имеет multiple
флаг, позволяющий выбрать несколько файлов. Проблема возникает, когда пользователь фактически выбирает более одного файла. В этом случае каждый File
имеет size
атрибут 0
, Если (еще с multiple
флаг), пользователь выбирает только один файл, size
Атрибут правильно содержит размер файла.
Проблема может быть замечена в следующем примере. Протестируйте и просмотрите результаты как выбора одного файла, так и выбора нескольких файлов. (Вам нужно будет сбросить между тестами). JsFiddle Test
Кто-нибудь знает об обходном пути?
4 ответа
Это ошибка Safari. На данный момент нет решения. вот тест, который я сделал http://jsfiddle.net/rHd26/6/
Обходной путь для нас заключался в удалении нескольких опций... мы получили размер файла 0, но мы также получили плохие имена файлов с добавлением странного начального символа к имени файла. Возможно, именно поэтому мы получаем 0 в размере: потому что первое свойство (имя файла) не разделяется правильно с наличием этого плохого символа в конце имени файла.
Проверьте этот взлом.
В нем подробно объясняется, как удалить несколько вариантов только для Safari, оставив другие браузеры в покое.
Есть ли обходные пути для ошибки загрузки нескольких файлов Safari HTML5?
Вариант этой проблемы также, похоже, заразил мобильный Safari на iOS 7, который только что вышел. Если у вас есть "множественное" поле ввода файла и вы выбрали видео, то File API возвращает размер файла 0. Действительно, jsfiddle в верхней части этой страницы воспроизводит это.
Выбор одной или нескольких фотографий с опцией "несколько" вполне подойдет - это влияет только на видео.