ファイルをアップロードして、Java コントローラーで内容を取得し、指定したパスに書き込もうとしています。通常どおりフォームを送信すると機能しますが、ajax submit を使用してファイルをアップロードしたいと思います。ajax とグーグルを試しましたが無駄でした。誰かチュートリアルを提案するか、その方法を教えてください。
ありがとうございました。
ajax を使用して直接アップロードする方法はありませんが、iframe を使用してシミュレートする 1 つの方法があります。
これらの議論をご覧ください
ファイルを非同期でアップロードするにはどうすればよいですか? ファイルのアップロードを伴う AJAX フォームの送信
非表示の iFrame を使用した Ajax スタイル ファイルのアップロード
http://viralpatel.net/blogs/ajax-style-file-uploading-using-hidden-iframe/
このプラグインを試してください
<script>
// wait for the DOM to be loaded
$(document).ready(function()
{
// bind 'myForm' and provide a simple callback function
$("#tempForm").ajaxForm({
url:'../calling action or servlet',
type:'post',
beforeSend:function()
{
alert("perform action before making the ajax call like showing spinner image");
},
success:function(e){
alert("data is"+e);
alert("now do whatever you want with the data");
}
});
});
</script>
これをフォーム内に保持します
<form id="tempForm" enctype="multipart/form-data">
<input type="file" name="" id="" />
</form>
ここでプラグインを見つけることができます
フォームで ecntype に言及している場合は、filles をバイト フィールドとして渡します。そこで使用する必要があります。
String photo = request.getParameter('inputFile').getBytes();
このバイトは、SQL で a.blob として保存できます。