ブラウザで実行することを目的としたアプリケーションを設計しています。このアプリケーションは、ファイルに保存されるデータを生成しています。場合によっては、このデータの量が使用可能な RAM の量を超える可能性があるため、すべてのデータが作成されるまで待ってから、一度にディスクに書き込むことはできません。
ランダム アクセス、または (少なくとも) ブラウザー ベースのアプリケーションからのファイルへのインクリメンタル (追加) 書き込みが必要です。
私の調査では、次のことがわかりました。
- HTML5 FileSystem API : 必要なものを正確に提供しますが、現時点では、Webkit ベースのブラウザー (Chrome、Opera) でのみ利用できます。このドキュメントに記載されているように、Firefox は最も近いバージョンでの実装を計画していません。IE11 または Safari 7 に関する情報はありません。
- 私が見つけたファイル保存手順のすべてのjsベースの実装は、これをサポートしていません(予想通り)。
- Flash にはクラスFileStreamがありますが、ブラウザー内の Flash プレーヤーでは使用できません。
- Silverlight にもFileStream クラスがありますが、それを使用するアプリケーションは昇格された信頼のアプリケーションである必要があります。ブラウザーベースの Silverlight アプリケーションは、Windows レジストリにそのように記載されている場合にのみ、昇格された信頼のアプリケーションにすることができます。これは明らかに Web アプリケーションのオプションではありません。さらに、これはおそらく Mac OS では実行できません。
ここに表示されるその他のオプションは、ActiveX と Java です。
では、js、Flash、または Silverlight で何か不足していますか? ActiveX または Java で行うことは可能ですか? 他のオプションはありますか?