我正在尝试使用ajax调用上传图像,然后在php中执行服务器部分。我是第一次搜索如何做到这一点,我结束了以下指定的链接
Uploading image using ajax call
我已经实现了它但是文件类型没有在调用php页面时被设置并且它没有返回任何意味着我猜是文件索引没有被设置。
表格
<form method="post" action="" enctype="multipart/form-data" id="imageUploadForm">
<input type="file" name="imageUpload" class="imageUpload" accept="image/*">
<input type="submit" class="btn btn-danger saveUploadImageBtn" value="Save">
</form>
JQuery代码
$('body').on('click' , '.saveUploadImageBtn' , function(e) {
e.preventDefault();
$.ajax({
url:"imageUpload.php",
type: "POST",
data: new FormData($('form#imageUploadForm')[0]),
contentType: false,
cache: false,
processData: false,
success: function(data) {
alert(data);
}
});
});
PHP代码
<?php
if(isset($_FILES["file"]["type"])) {
$validextensions = array("jpeg", "jpg", "png");
$temp = explode('.', $_FILES["file"]["name"]);
$file_extension = end($temp);
if((($_FILES['file']['type'] == 'image/png') || ($_FILES['file']['type'] == 'image/jpg') || ($_FILES['name']['type'] == 'image/jpeg')) && ($_FILES['file']['size'] < 100000) && in_array($file_extension, $validextensions)) {
if($_FILES['file']['error'] > 0) {
echo 'Return Code: '.$_FILES['file']['error'].'<br/>';
}
else {
if(file_exists('images/'.$_FILES['file']['name'])) {
echo $_FILES['file']['name'].' already exists';
}
else {
$sourcePath = $_FILES['file']['tmp_name'];
$targetPath = 'image/'.$_FILES['file']['name'];
move_uploaded_file($sourcePath, $targetPath);
echo 'Image Uploaded Successfully'.'<br/>'.'File Name: '.$_FILES['file']['name'].'<br/>'.'File Type: '.$_FILES['name']['type'].'<br/>'.'File Size: '.$_FILES['file']['size'].'<br/>'.' Temp File: '.$FILES['file']['tmp_name'];
}
}
}
else {
echo 'Invalid image size or type';
}
} ?&GT;
我提交了什么错误以及为什么文件索引没有设置? 有人请帮帮我
谢谢