私はオープンソースプロジェクトDownloadifyに取り組んでおり、これまではExternalInterface.call
コマンドに応答して文字列を返すだけで処理していました。
JSZipとDownloadifyを一緒に使用してテストケースをまとめようとしています。その結果、Zipファイルがブラウザーで動的に作成され、を使用してディスクに保存されFileReference.save
ます。しかし、これは私の問題です。
JSZipライブラリbase64
は、Zipのエンコードされた文字列、または生のバイト文字列のいずれかを返すことができます。ExternalInterface.call
問題は、コマンドに応答してそのバイト文字列を返すと、次のエラーが発生することです。
Error #1085: The element type "string" must be terminated by the matching end-tag "</string>"
ActionScript 3:
var theData:* = ExternalInterface.call('Downloadify.getTextForSave',queue_name);
queue_name
JSで正しいインスタンスを識別するために使用される文字列はどこにありますか。
JavaScript:
var zip = new JSZip();
zip.add("test.txt", "Hello world!\n");
var content = zip.generate(true);
return content;
バイト文字列の代わりに通常の文字列を返すと、呼び出しは正しく機能します。サイズが大きくなるデコーダーbase64
を含める必要があるため、使用を避けたいと思います。base64
swf
最後に:私はAS3Zipジェネレーターを探していません。私のプロジェクトでは、その部分をJavaScriptで実行することが不可欠です。
私は確かにAS3プログラマーではないので、さらに詳細が必要な場合はお知らせください。