在服务器上通过jQueryAjax上传加载的图像时出现问题


Having Issue On Uploading Loaded Image by jQuery Ajax on Server

我正在尝试使用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?!

在页面上,而不在服务器上上传图像。你能告诉我我做错了什么吗?(我知道这不是一种将图像上传到服务器的安全方法,但请注意,我正在尝试在没有验证、消毒或过滤的情况下精简上传的整个过程)

感谢

AJAX不进行文件上传。它不是为这个而设计的。要在不刷新页面的情况下上传文件,您必须使用任何jquery ajax插件。例如

http://www.malsup.com/jquery/form/

这个问题已经在下面的链接中讨论过了:

PHP和Ajax文件上传-Can';t使用$_FILES 获取tmp_name