Happstack-build Webサイトで、「ユーザーが送信した」プレーンテキストファイルを読み取ろうとしています。主な機能はファイルの内容を取得することです。さらに使用するために、ファイルのサーバー側のストレージは必要ありません。
- これを実現する方法は何でしょうか?
- ファイルをアップロードする必要がありますか、それともajaxで処理できますか?そうでない場合は、その理由を教えてください。
- サンプル実装が役立つでしょう
ajaxからファイルをアップロードできるかどうかはわかりません。詳細については、このスレッドを参照してください。
非同期でファイルをアップロードするにはどうすればよいですか?
ajaxの部分とサーバーを忘れると、ファイルのアップロードのように見えます。ファイルのアップロードについては、クラッシュコースの次のセクションを参照してください。
http://happstack.com/docs/crashcourse/RqData.html#rqdataupload
アップロードされたファイルは一時ファイルに保存され、応答が送信された後に自動的にクリーンアップされます。したがって、ファイルを保存する必要がない場合は、一時ファイルの内容を読み取るだけで、応答の送信後にサーバーにファイルを自動的に削除させることができます。
このソリューション(jQueryを使用)が見つかりました。これはHTML5のみがサポートされています。
$("#uploadbutton").change(function() {
var reader = new FileReader();
reader.onloadend = function() {
$("#output").val(reader.result);
}
reader.readAsText(this.files[0]);
});
テキストファイルの内容(「#uploadbutton」で選択)が読み取られ、「#output」に表示されます。Happstackファイルのアップロードは必要ありませんでした。