我无法将图像/文件成功上传到我的服务器。 php如下:
//This is the directory where images will be saved
$uploadDir = "./";
$uploadFile = $uploadDir . basename( $_FILES['photo']['name']);
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $uploadFile)){
echo "The file has been uploaded successfully.";
} else {
print_r($_FILES);
}
我选择了此脚本所在的目录,以确保在上传到最终目录之前的功能。我想上传照片,稍后会检查文件扩展名 - 但是现在我至少需要上传功能才能正常工作。
我返回一个空数组。
**编辑**
此外,表单上已启用enctype="multipart/form-data"
,我通过AJAX提交。
表格如下:
<form id="imageUploadForm" name="imageForm" enctype="multipart/form-data">
<label for="photo" class="blogLabel">Upload an Image</label>
<input type="file" name="photo" id="imageUpload" onChange="uploadImage();">
</form>
是的,我确实意识到我不应该使用“onChange”来提交表格,而是请与我一起。
提交表格的AJAX如下:
function uploadImage() {
$.ajax({
type:'POST',
url:'imageController.php',
data:$('#imageUploadForm').serialize(),
success: function(responseSubmit) {
alert(responseSubmit);
}
});
};
答案 0 :(得分:4)
您无法通过类似的Ajax上传文件。
这将导致根本没有文件上传!
您只能按照您希望的方式提交常规表单提交文件到服务器。
如评论中所示 - 您可以执行隐藏的iframe技巧,将文件提交到服务器,而不使用ajax 。
或强> you can use XHR2