2013-03-12 3 views
0

При создании настольного приложения иногда бывает необходимо сохранить файлы. Я использовал FileReference для этого, но он открывает диалоговое окно с просьбой указать местоположение для сохранения файла в отличие от автоматического сохранения в определенном каталоге с определенным именем файла.Сохранение локального файла с помощью Adobe Air

У меня возникли проблемы с правильной работой FileStream. Я воспроизвел в небольшом примере

package { 
import flash.display.*; 
    import flash.text.*; 

    import flash.events.*; 
    import flash.net.*; 
    import flash.utils.ByteArray; 
     import flash.filesystem.*; 
     public class example extends MovieClip 
     { 
      public function example() 
      { 
      stage.addEventListener(MouseEvent.CLICK, mouseclick); 

      } 
      public function mouseclick(event:Event):void 
      { 
      var file:File = File.documentsDirectory.resolvePath("myfile.txt"); 
      var stream:FileStream = new FileStream(); 
      stream.open(file, FileMode.WRITE); 
      stream.writeUTFBytes("text"); 
      stream.close(); 
      } 
     } 
} 

Событие MouseClick, скорее всего, необходимо - это было с FileReference в любом случае. Я компиляции с гибким компилятором amxmlc

amxmlc -static-link-runtine-shared-libraries example.as 

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

+0

Это работает! Я скомпилирован из Flash Professional 5.5. Я не могу найти никаких проблем. – skabir

ответ

0

Прежде всего, вам не нужно «Взаимодействие с пользователем» с классом File, поскольку это действительно необходимо для FileReference.

Вы должны скомпилировать свой код в качестве приложения AIR, используя AIR SDK, а затем установить его на свой компьютер. Ваш файл SWF не будет работать напрямую.

Обратитесь к этим ресурсам для получения более подробной информации о компиляции приложения:

  1. Using Flex SDK

  2. Using amxmlc

Смежные вопросы