私の Web サイトでは、ユーザーが指定した形式の xml ファイルをアップロードする必要があります。したがって、クライアント側で構文と形式のチェックを行い、サーバーにアップロードする前にそれらのエラーを修正できるようにします。(ハードドライブ上の実際のローカルファイルを変更する必要はありません。サーバーに送信するデータを変更するだけで済みます)現在使用しているもの:
var reader = new FileReader();
reader.onload = function(e) {
var xml = e.target.result;
// I help them correct xml here, this will involve lots of interaction with user,
// so I want it only happen on client side
var correctXML = fixSyntaxAndFormat(xml);
$.post('/foo/bar', {xml: correctXML});
}
reader.readAsText(evt.target.files[0]);
このコードは機能しますが、実際にアップロードされたファイルではなく、投稿データで xml を送信します。ファイルのアップロードの進行状況を監視し、他のファイル情報を保存したいので、次のようなものがあればいいのにとoldfile.content = correctXML
思い<input type="file"/>
ます。これは可能ですか?または、これを行う「正しい」方法はありますか?
ありがとう
更新
austincheney の例に感謝します。作成してnew Blob()
、これを使用して元のファイルを置き換えます。うまくいくようです。