Я хотел бы создать приложение Silverlight 4 (или 5), которое может выполнять групповую / пакетную загрузку файлов с веб-сервера хостинга. На клиенте пользователю будет представлен список файлов, из которых он выбирает один или несколько из них для загрузки. С этого момента я пытаюсь понять, как это будет работать. Я бы хотел избегать подсказок пользователю несколько раз (например, один раз для каждого файла). Должна быть только одна подсказка «сохранить как», и оттуда загрузка должна быть выполнена.
Вот мои первые мысли:
(1) Сохранить файл в клиенте
Если бы пользователь мог выбрать «папку для перетаскивания», в которую будут загружаться файлы, запись их на диск может быть не слишком сложной. Тем не менее, я не знаю ни одного способа сделать это в Silverlight. Изолированное хранилище было первым, что пришло мне в голову, но пользователю будет нелегко добраться до этого места после того, как файлы будут записаны ... Насколько я знаю, есть только SaveFileDialog, и я, конечно, не хочу запрашивать у пользователя местоположение и имя каждого файла.
(2) Загрузка файла с сервера
Если бы мы могли каким-то образом использовать встроенные в браузер возможности загрузки (сохранения / открытия), это было бы простым вариантом. Я нашел несколько основных статей, демонстрирующих, как это сделать, но я думаю, что наш сценарий усложняется, потому что есть несколько файлов, и файлы, которые пользователь выбирает для загрузки в пакете, являются динамическими. По-моему, я думаю о том, чтобы создать какой-нибудь zip / архив «на лету», содержащий файлы, которые пользователь выбирает для загрузки, а затем загружает zip в виде одного файла.
Есть какие-нибудь мысли или предложения о том, как что-то подобное может быть реализовано? Я уверен, что это возможно, но для меня это просто новая территория.
Спасибо!