我正在尝试使用ajax和php上传照片。在这里遵循其他答案它应该是相当直接但我不能让它工作。任何人都可以看到我的代码有任何问题。
ajax请求成功,所以我认为它一定是我的php的问题。
我的HTML代码看起来像这样
<form>
<input id="upload-input" type="file" multiple="multiple"></br>
<input class="auction-description" type="text">
<input class="btn btn-lg submit-images-btn" type="submit">
</form>
我的php代码如下所示:
PHP
<?php
$dir = "/images";
echo $dir;
move_uploaded_file($_FILES["uploaded_file"]["tmp_name"], $dir)
?>
我的js看起来像这样。
JS
$('#upload-input').on('change', function() {
var files = $(this).get(0).files;
if (files.length > 0) {
// create a FormData object which will be sent as the data payload in the
// AJAX request
var formData = new FormData();
// loop through all the selected files and add them to the formData object
for (var i = 0; i < files.length; i++) {
var file = files[i];
fileNames.push(file.name);
// add the files to formData object for the data payload
formData.append("image", file);
}
$.ajax({
url: '/uploadphoto.php',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(data) {
console.log('upload successful!\n' + data);
}
});
}
});
答案 0 :(得分:3)
根据我们在聊天中的对话,问题证明您的文件输入未命名并且是有效的enctype。
它应显示为<input type="file" name="uploaded_file">
并在表单中包含enctype="multipart/form-data"
和POST方法。
<form>
默认为GET方法。
处理文件时,这些是必不可少的。
参考: