В классе FileReference Flex нет метода save ()

Я пытаюсь экспортировать содержимое DataGrid в PDF

var bytes:ByteArray = myPDF.save(Method.LOCAL);
var f:FileReference = new FileReference();
f.save(bytes,"TestAttachment.pdf"); 
/* Call to a possibly undefined method save through a reference with static type flash.net:FileReference. */

Я использую AlivePDF версии 0.1.4.9 и Flex Builder 3 для создания простого приложения Flex

3 ответа

Обновил flex SDK до 3.6A и версию компилятора Flex до 10.1.0, спасибо @(Yasuyuki Uno) и FileReference.Save сработало

var f:FileReference = new FileReference();
f.save(bytes,"TestAttachment.pdf");

FileReference это просто ссылка на файл, вы ищете FileStream. Предполагая, что ByteArray уже является содержимым PDF:

var bytes:ByteArray = myPDF.save(Method.LOCAL);
var file:File = File.desktopDirectory.resolvePath("myPDF.pdf");
var fileStream:FileStream = new FileStream();

fileStream.open(file, FileMode.WRITE);
fileStream.writeBytes(bytes);
fileStream.close();

Чтобы найти каталоги на разных устройствах, проверьте это

Я думаю, что эта проблема вызвана настройками сборки.

В Flex Builder > Project > Properties > Flex Compiler установите минимальную версию Flash Player более 10.0.0.
После этого вы можете использовать метод FileReference.save().

Может быть, ваша настройка была 9.xx

Другие вопросы по тегам