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