Многократная загрузка в Gecko / WebKit: разрешить удаление из списка перед загрузкой - PullRequest
1 голос
/ 24 июня 2010

Я пытаюсь использовать новый атрибут множественного = "несколько", допустимый для элементов.Пока что это поддерживается недавними браузерами Gecko и WebKit.Я тестирую на Firefox 3.6 и Chrome 5.0.

Я могу нормально использовать его и отображать список файлов (я использовал this в качестве руководства).Скорее разочаровывает, однако, кажется, что пользователь не может удалить файлы из этого списка после их добавления.Единственный способ - нажать кнопку «Обзор ...» и выбрать новый набор файлов.

Это потому, что объект FileList, предоставленный элементом <input>, доступен только для чтения, как указано в спецификации (не можете связать - см. FileAPI TR на веб-сайте W3C).

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

Кто-нибудь знает какие-либо другие обходные пути, или есть какие-нибудь идеи, как с этим бороться?Цель состоит в том, чтобы иметь возможность использовать атрибут «множественный» и позволить пользователям удалять файлы из списка до загрузки.

1 Ответ

0 голосов
/ 26 октября 2010

Я получил ответ от Аруна Ранганатана, редактора File API:

Программист (использующий File File для программного манипулирования выбором файла пользователя) не может противоречитьрешение пользователя.Таким образом, API НЕ позволяет программисту либо добавить файл к выбору пользователя, либо удалить файл из выбора пользователя.Если бы мы это допустили, это была бы зияющая дыра в безопасности.Плохие веб-сайты могут делать очень плохие вещи или, по крайней мере, очень раздражающие вещи.Вот почему текущая парадигма НЕ допускает какого-либо взаимодействия с базовой файловой системой, которая НЕ одобрена пользователем, по крайней мере, через диалоговое окно File (в настоящее время порождается с input type = "file").

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...