Ответ 1
В общем, SWF с веб-сервера не может читать файлы с клиентского компьютера. Но он может загружать пользовательские файлы с клиентской машины на сервер. Диалоговое окно конкретной операционной системы предлагает пользователю выбрать файл, который будет загружен на сервер. Следовательно, Flash не может прочитать любой файл, который он хочет, только те, которые явно разрешены пользователем.
Перед Flash-проигрывателем 10 SWF не имел прямого доступа к содержимому загружаемого файла - все, что он сделал, действовало как интерфейс для выбора файла и отправки его на сервер. Единственный способ получить его содержимое - отправить его обратно с сервера на SWF, используя URLLoader.
Однако начиная с FP10 класс FileReference имеет метод load()
, который позволяет загрузить выбранный непосредственно в SWF, а не передавать его через сервер.
Аналогичные правила применяются к загрузке - файлы могут быть сохранены на пользовательском компьютере только с их разрешения и по месту и имени, указанным пользователем. До FP10 вы могли загружать только файл с сервера клиенту - если вам нужно было сохранить изображение, созданное с помощью SWF, на клиентский компьютер, вам пришлось отправить его на сервер, а затем попросить пользователя загрузить его. Начиная с FP10, вы можете записывать данные непосредственно из SWF (с разрешения пользователя, конечно).
В дополнение к этому SWF может хранить SharedObjects на клиентской машине, которая аналогична куки файлам браузера. Сохранение общих объектов не включает никаких диалоговых окон или разрешений пользователя. Ниже приведено цитируемое на странице liveocs ссылка, приведенная выше.
Локальные общие объекты имеют некоторые ограничения, которые необходимо учитывать при разработке приложения. Иногда SWF файлам не разрешается записывать локальные общие объекты, и иногда данные, хранящиеся в локальных общих объектах, могут быть удалены без вашего ведома. Пользователи Flash Player могут управлять дисковым пространством, доступным для отдельных доменов или для всех доменов. Когда пользователи уменьшают объем доступного дискового пространства, некоторые локальные общие объекты могут быть удалены. Пользователи Flash Player также имеют средства контроля конфиденциальности, которые могут запретить сторонним доменам (доменам, отличным от домена в текущей адресной строке браузера) от чтения или записи локальных общих объектов.