あなたが実際にやろうとしているのは、一種のストリーミングです。つまり、FileAPI はこのタスクには適していません。代わりに、次の 2 つのオプションを提案できます。
1 つ目は、XHR 機能、つまり ajax を使用して、データをサーバーに順次送信されるいくつかのチャンクに分割することです。チャンク位置)。データを分割して再構築する作業が追加され、より良い解決策があるため、お勧めしません。
これを実現する 2 つ目の方法は、Websocket API を使用することです。生成されたデータをサーバーに順次送信できます。通常のストリーム API に従います。これは絶対必要だと思います。
このページは、http: //binaryjs.com/から始めるのに適した場所かもしれません。
以上です!
あなたのコメントを考慮して編集:
あなたの主張を完全に理解できるかどうかはわかりませんが、HTML5 の FileSystem API はどうですか?
ここにいくつかの例があります: http://www.html5rocks.com/en/tutorials/file/filesystem/このサンプルでは、既存のファイルにデータを追加できます。新しいファイルなどを作成することもできます:
function onInitFs(fs) {
fs.root.getFile('log.txt', {create: false}, function(fileEntry) {
// Create a FileWriter object for our FileEntry (log.txt).
fileEntry.createWriter(function(fileWriter) {
fileWriter.seek(fileWriter.length); // Start write position at EOF.
// Create a new Blob and write it to log.txt.
var blob = new Blob(['Hello World'], {type: 'text/plain'});
fileWriter.write(blob);
}, errorHandler);
}, errorHandler);
}
編集2:
SO here で述べたように、あなたがやろうとしていることはjavascriptを使用することはできません。それにもかかわらず、著者は、必要な動作を実現するために Java アプレットを使用することを提案しています。
簡単に言うと、HTML5 Filesystem API はサンドボックス化されたファイルシステムのみを提供します。つまり、ブラウザの隠しディレクトリに配置されます。したがって、真のファイルシステムにアクセスしたい場合は、ユースケースを考慮すると Java を使用するだけで十分です。ここにJavaとjavascriptの間にインターフェースがあると思います。ただし、データをブラウザーからのみ利用できるようにしたい場合 (同一オリジン ポリシーによる制約)、FileSystem API を使用します。