2010-07-30 1 views
0

Могу ли я разработать Flash AS3 для загрузки swf, который позволит пользователю выбрать местоположение на своем жестком диске для загрузки файлов и затем начать загрузку нескольких файлов (так же, как я могу сделать с загрузкой)? Или я должен сначала заархивировать все несколько файлов и загрузить zipped-файлы на локальный диск.Можно ли загружать несколько файлов из удаленного места на жесткий диск пользователя с AS3 FileReference?

Мои пользователи захотят загрузить потенциально сотни изображений с сервера на локальный диск, поэтому я не хочу, чтобы они нажимали кнопку «Сохранить» для каждого из них. Будет ли AS3 позволять мне передать массив имен файлов и сохранить местоположение, которое пользователь изначально выбирает? Я спрашиваю, потому что это звучит так, как будто это было запрещено по соображениям безопасности.

любые идеи?

ответ

1

К сожалению, Flash не предоставляет API для загрузки нескольких файлов. FileReference может загрузить zip-файл, содержащий несколько изображений, но не массив файлов изображений.

При хранении изображений в почтовом индексе не забудьте выключить компрессию. Это сделает обработку zip намного быстрее, и изображения не будут сжиматься в любом случае (если вы не используете растровые изображения или какой-либо другой смешной формат).

+0

спасибо, это хороший совет по сжатию. – undefined

-5

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

Ваши варианты файлов с застежкой-молнией, похоже, подходят.

+0

Неверно. Flash позволяет загружать с помощью 'FileReference', но только по одному файлу за раз. –

+0

в AS3, FileReference имеет методы загрузки() и upload(). Ваш пост, если false. –

0

У вас нет возможности загрузить сразу несколько файлов, но вы можете запрограммировать их по одной ссылке.

Слушайте событие Event.COMPLETE в объекте FileReference, чтобы начать следующую точную загрузку.