Es gibt keine save () - Methode in der FileReference-Klasse von Flex - actionscript-3, flex, actionscript, flex3, alivepdf

Ich versuche den Inhalt von DataGrid in PDF zu exportieren

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. */

Ich verwende AlivePDF Version 0.1.4.9 und Flex Builder 3 zum Erstellen einer einfachen Flex-Anwendung

Antworten:

1 für die Antwort № 1

Eine FileReference ist nur ein Verweis auf eine Datei, Sie suchen nach einem FileStream. Angenommen, das ByteArray ist bereits der PDF-Inhalt:

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();

Für Verzeichnispositionen auf verschiedenen Geräten, check das aus


1 für die Antwort № 2

aktualisiert das Flex SDK zu 3.6A und Flex-Compiler-Version zu 10.1.0, Dank @ (Yasuyuki Uno) und FileReference.Save funktioniert

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

0 für die Antwort № 3

Ich denke, dass dieses Problem von Build-Einstellungen verursacht wird.

Stellen Sie in Flex Builder> Projekt> Eigenschaften> Flex Compiler die minimale Flash Player-Version auf über 10.0.0 ein.
Danach können Sie die FileReference.save () -Methode verwenden.

Vielleicht war deine Einstellung 9.x.x


Am beliebtesten