表示オブジェクトのビットマップを描画した後、ビットマップとテキスト入力をローカルに保存し、保存中に Flash Player が表示するシステム ダイアログを回避する必要があります。これはPHPで実現できますか?Air がこのタスクをかなり効果的に処理することを読んだことがありますが、私はどちらのプラットフォームも経験がありません。どんな助けでも大歓迎です!ありがとう...
2 に答える
2
いいえ、できません。ウェブアプリが許可なくローカル システムにデータを保存できるようにすることは、セキュリティ上の大きなリスクとなります (スパイウェアをシステムに保存する正当に見えるウェブアプリを作成することもできます)。この理由により、Flash はそれを許可しません。
ただし、デスクトップベース (AIR) アプリはFileStream
、FileMode.WRITE
モードで を開き、ユーザーからのプロンプトなしでデータを書き込むことができます。
編集 デスクトップベースのアプリを探しているので、ここにいくつかの指針があります:
var randomname:String=Math.floor(Math.random() * 1024).toString(16) + ".png"
var f:File=File.desktopDirectory.resolvePath("photos/" + randomname);
var s:FileStream=new FileStream();
s.open(f, FileMode.WRITE);
s.writeBytes(bytesArray); //bytesArray contains the binary data to write to the file
s.close();
于 2012-05-03T18:08:43.247 に答える
0
そのためにはFileReference.save()を参照してください。
はい、ユーザーの操作が必要です (そうでない場合は悪夢になります)。
AIR およびFileStreamクラスを使用したくない場合は、これが唯一のオプションです。
AIR ファイル API にはその制限はありませんが、デスクトップ アプリを実行する必要があります。
データの保存にはいつでもローカルのSharedObjectを使用できますが、この場合は AMF でエンコードされます。これは、AIR と Web アプリの両方で機能します。
于 2012-05-03T17:43:53.887 に答える