Сохранение изображения в виде файла на стороне клиента? - PullRequest
0 голосов
/ 01 февраля 2011

Я довольно неопытен с flash и as3, и мне было поручено написать программу, которая загружает изображения с предоставленных URL-адресов и сохраняет их в указанном месте на компьютере пользователя.

Идея состоит в том, чтобы иметь возможность загружать несколько изображений (пользователь выбирает их) и загружать их все в один каталог (который пользователь выбирает первым), чтобы ему не приходилось загружать их одно за другим.Кроме того, поместить их в архив и загрузить как один файл было невозможно.

Единственное решение, которое я нашел, - это использование FileReference.save (), которое мне не подойдет, потому что оно открывает диалоговое окно сохранения..

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

Спасибо.

1 Ответ

3 голосов
/ 01 февраля 2011

Самая большая проблема, с которой вы столкнетесь, - это безопасность песочницы flash player. Из-за этого невозможно смешивать запросы файлов с локального компьютера с запросами файлов в сети, если ваш SWF-файл уже находится в сети. Причина этого заключается в том, чтобы не дать злонамеренным SWF отправлять файлы с вашего компьютера в Интернет. Мне потребовалось некоторое время, чтобы полностью понять ограничения безопасности, но все это здесь, в справочной документации Adobe AS3 .

В нижней части этой страницы вы увидите список типов изолированной программной среды безопасности, и если вы создаете веб-сайт (REMOTE), вы не сможете реализовать свой дизайн во Flash, не прибегая к фанки Плагины для сторонних браузеров:

  • Security.REMOTE
  • Security.LOCAL_WITH_FILE
  • Security.LOCAL_WITH_NETWORK
  • Security.LOCAL_TRUSTED ← может делать то, что вам нужно.
  • Security.APPLICATION ← также можете делать то, что вам нужно.

Все песочницы LOCAL_* работают с SWF на вашем компьютере, но для того, чтобы они могли обращаться к обоим другим файлам на вашем компьютере и затем отправлять их в сеть, пользователь должен вручную «доверять» SWF. Предполагая, что вы создаете свое приложение для более широкой публики, это, вероятно, нереальный вариант.

Лучше всего пойти с AIR. Как указано в APPLICATION, вы можете смешивать локальные и сетевые ресурсы. Однако вашим пользователям потребуются права администратора на их компьютерах, и они будут достаточно доверять вам, прежде чем они смогут установить ваше приложение как настольное приложение AIR.

Удачи! EP.

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