新しいページにファイルをアップロードするためにjQueryスクリプトを使用しています。それは何とか動作しますが、問題はフォームデータをobject FormData
として送信することです。jQueryを使用してファイルをアップロードすると、FormDataオブジェクトが提供され、ファイル名はGET要求なし
$('#submit').click(function() {
var formData = new FormData($(this).form);
$.ajax({
url: '/test/file_capture',
//Ajax events
beforeSend: function (e) {
alert('Are you sure you want to upload document.');
},
success: function (e) {
alert('Upload completed');
},
error: function (e) {
alert('error ' + e.message);
},
// Form data
data: formData,
//Options to tell jQuery not to process data or worry about content-type.
cache: false,
contentType: false,
processData: false
});
return false;
});
HTMLの一部として次のとおりです:
<form enctype="multipart/form-data">
<input type="file" id="image" name="image" accept="Image/*" />
<input type="submit" id="submit" name="" value="Upload" />
</form>
しかし、生成されたリンクのようである:
ます。http:// localhostを:4965 /ここで
コードですtest/file_capture?[オブジェクト%20FormData] & _ = 1386501633340
画像がありません名前またはそれに付随する他のもの。私は何が欠けていますか?エラーはなく、要求が行われ、アップロード完了アラートが表示されますが、
[jQueryと非同期にファイルをアップロードするにはどうすればいいですか?](http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously-with-jquery) –