Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.02.2009, 16:48
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 1  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 612
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
По умолчанию Создание и запись в файл в директории с программой.

Есть код:
Код AS3:
var file:File = new File("app-storage:/sample.save");
fileStream.open(file,FileMode.WRITE);
Работает отлично, но записывает эти файлы в папочку зарытую очень далеко. Я же хочу сделать updater программы. Если же заменить app-storage:/ на app:/ выдает SecurityError. Возможно ли обойти?


Последний раз редактировалось Rzer; 27.02.2009 в 17:01.
Старый 27.02.2009, 17:13
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 2  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Из хелпа к File
Цитата:
applicationDirectory : File
[static] [read-only] The folder containing the application's installed files. File
applicationStorageDirectory : File
[static] [read-only] The application's private storage directory.
__________________
4am is time to rock

Старый 27.02.2009, 17:51
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 3  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 612
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
2 DarkLight: app:/ префикс, то же самое что и applicationDirectory. При задании пути одним из этих способов работает политика безопастности.

Получилось записать файл в папку с программой вот так:
Код AS3:
var getFilePath:File = new File("app:/sample.save");
var file:File = new File("file:///" + getFilePath.nativePath);
fileStream.open(file,FileMode.WRITE);


Последний раз редактировалось Rzer; 27.02.2009 в 17:57.
Старый 27.02.2009, 19:08
Air_mAn вне форума Посмотреть профиль Отправить личное сообщение для Air_mAn Найти все сообщения от Air_mAn
  № 4  
Ответить с цитированием
Air_mAn
 
Аватар для Air_mAn

Регистрация: Apr 2008
Сообщений: 102
Это хак, следует учитывать что в любой момент недокументированные возможности могут прикрыть.

Старый 27.02.2009, 23:46
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Air_mAn, это ещё почему-то я не могу писать в ту папку, куда хочу? Очень даже документировано и будет работать.

Старый 02.03.2009, 12:31
Air_mAn вне форума Посмотреть профиль Отправить личное сообщение для Air_mAn Найти все сообщения от Air_mAn
  № 6  
Ответить с цитированием
Air_mAn
 
Аватар для Air_mAn

Регистрация: Apr 2008
Сообщений: 102
Цитата:
Сообщение от __etc Посмотреть сообщение
Air_mAn, это ещё почему-то я не могу писать в ту папку, куда хочу? Очень даже документировано и будет работать.
В документации сказано:
Цитата:
Unless there are administrator restrictions applied to the user’s computer, AIR applications are privileged to write to any location on the user's hard drive.
Это значит, что в дирректорию, куда установлено air приложение, при использовании абсолютного пути (вместо app:/ URL scheme), запись будет работать, но также сказано:
Цитата:
Do not write to or modify content in the application directory. The runtime prevents applications from writing or modifying files and directories using the app:/ URL scheme by throwing a SecurityError exception.
А это означает, что не рекомендуется изменять содержимое папки, куда установлено air приложение (для этого стоит защита в виде exeption). Но если вы не будете следовать рекомендациям, то нормальную работу приложения вам никто гарантировать не будет. (попробуйте изменить файл из пакета установки, и ваше приложение не запустится)
Зачем это все, можно прочитать там же, в документации Best security practices for developers

Старый 16.06.2010, 05:13
yank вне форума Посмотреть профиль Отправить личное сообщение для yank Найти все сообщения от yank
  № 7  
Ответить с цитированием
yank

Регистрация: Jan 2010
Сообщений: 9
Кто знает как получить родительскую папку для applicationDirectory? Ведь стандартное parent для нее недоступно, видимо снова в угоду безопасности.

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:34.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.