我正在尝试使用jQuery、Ajax和PHP将加载的图像保存在服务器上。
以下是我为Ajax部分编写的代码:
<script>
$(function () {
$("#uploadimage").on('submit', function (e) {
e.preventDefault();
var formData = new FormData(this);
var imgloader = $.ajax({
type: "POST",
url: "imgLoader.php",
data: formData,
cache: false,
contentType: false,
processData: false,
beforeSend: function () {
console.log(formData);
}
});
imgloader.fail(function () {
console.log('Error');
});
imgloader.done(function (data) {
$('#res').text(data);
});
});
});
</script>
我在imgLoader.php
上有这个PHP
<?php
if (isset($_FILES["file"]["type"])) {
$file = $_FILES['file']['tmp_name'];
$newloc = "newupload/" . $_FILES['file']['name'];
move_uploaded_file($file, $newloc);
} else {
echo 'There is Something Wrong?!';
}
?>
但是我得到
There is Something Wrong?!
在页面上,而不在服务器上上传图像。你能告诉我我做错了什么吗?(我知道这不是一种将图像上传到服务器的安全方法,但请注意,我正在尝试在没有验证、消毒或过滤的情况下精简上传的整个过程)
感谢
http://www.malsup.com/jquery/form/
这个问题已经在下面的链接中讨论过了:
PHP和Ajax文件上传-Can';t使用$_FILES 获取tmp_name