如何在不使用提交按钮的情况下上传图片

时间:2016-12-30 20:57:50

标签: javascript php jquery ajax

我在不使用提交按钮的情况下进行图片上传。当用户选择图像时,他立即上传。但我有一个问题,Ajax只打印“成功”,但图像不在文件夹中。 PHP没有ajax工作。

这是我的HTML:

<form action="../PHP/fotogaleria.php" method="post" class="form_fotogaleria" enctype="multipart/form-data">
    <div class="obal_fotogalerie">
        <div class="stvorcek">
            <label class="file_nahod">
                <input type="file" name="odoslat_fotogaleria" class="odid">
                <img class="priecinok" src="../Obrazky/folder.png">
                <p> Nahrať</p>
            </label>
        </div> <!-- koniec "stvorcek" -->
    </div> <!-- koniec "obal_fotogalerie" -->
</form>

PHP:

$name = $_FILES['odoslat_fotogaleria']['name'];
$tmp_name = $_FILES['odoslat_fotogaleria']['tmp_name'];
$path = '../Obrazky-zvieratok/';
$cielovy_file = $path . basename($name);


move_uploaded_file($tmp_name,$path.$name);
echo "success";

这是AJAX:

$('.odid').change(function(e) {
    e.preventDefault();
$.ajax({
 url: '../PHP/fotogaleria.php',
 type: "POST",
 data: new FormData(this),
 contentType: false,
 cache: false,
 processData: false,
 success: function(data){
    console.log(data);
 }

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您将输入元素传递给FormData构造函数。你应该改为传递表单元素。

data: new FormData($(this).closest('form').get(0)),