AJAXを介してファイルをアップロードしようとしています。たくさん検索しましたが、フォーム送信のみを使用した例を見つけましたが、フォーム送信を使用できません。いくつかの例を試しましたが、サーバーに何も届きません。このリンクを試したところ、機能しましたが、フォームの送信によるものでした。
これがコンテキストに関連するコードです
JSコード
function _upload(filedata) {
$.ajax({
url: './myURI',
data: filedata,
type: 'POST',
contentType: 'multipart/form-data',
mimeType: 'multipart/form-data', //Property added in 1.5.1
success: function (data) {
alert(data);
}
});
}
$("#cpc-uploadBtn").click(function (evt) {
var data;
data = new FormData();
data.append('file', $('#cpc-upload')[0].files[0]);
_upload(data);
});
HTMLパート
<input id="cpc-upload" name="file" type="file" />
<button id="cpc-uploadBtn" type="button">Upload</button>
編集
フォーム送信とフォームデータを使用せずにこれを行う他の方法はありますか?