AJAXを使用してファイル(CSV)をアップロードする機能を構築中です。これは私が働いており、現在チュートリアルに従っているので、大まかなコードです。私はサーバ側の言語のためのXAMPPを使用していますAjaxファイルのアップロードがディレクトリに保存されていません
実行後、私は(FormDataをobectで)表示し、それを除いて、ファイルを提出した後に空であるというアラートを得ています。現在、プロジェクトには3つの項目があります。
HTML(アップロードフォルダのindex.phpとupload.php)
<form method="post" enctype="multipart/form-data">
<input id="file-uploading" type="file" name="fileUploading" />
<button id="upload" value="upload">Upload</button>
</form>
JAVASCRIPT
$('#upload').on('click', function() {
var file_data = $('#file-uploading').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
alert(form_data);
$.ajax({
url: 'upload.php',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(){
console.log('success');
}
});
});
PHP
<!doctype html>
<html>
<body>
<?php
if (0 < $_FILES['file']['error']) {
echo 'Error' . $_FILES['file']['error'] . '<br/>';
}
else {
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
}
?>
</body>
</html>
あなたのフォーム要素は、enctypeを宣言、すなわち<フォームのenctype =「マルチパート/フォームデータを」>必要 – jeff
ええ、私のフォーム要素の内側にあなたがそれを言及する前にすることを宣言しました。同じ結果が得られました – clestcruz
'$( '#ファイルアップロード')。ファイル[0];' –