简体   繁体   English

图片上传ajax jquery

[英]Image upload ajax jquery

Im new to jQuery. 我是jQuery的新手。 I try to upload a jpg image file by using ajax method. 我尝试使用ajax方法上传jpg图像文件。 But when I upload, it doesn't upload. 但是当我上传时,它不会上传。 Could anyone please help me to do this? 有人可以帮我这样做吗?

HTML HTML

<form action="" method="POST" enctype="multipart/form-data">
     <input type="file" name="image" id="image"/>
</form>

jQuery jQuery的

$('#submit').click(function()
{
    var image=$('#image').val()

        $.post("upload.php",{image:image},function(data)
        {
            alert(data);
        });
    }


})

PHP PHP

<?php
     $image=$_POST['image'];

     $imagename=date("d-m-Y")."-".time()."jpg";
     $target_path = "uploads/".$imagename;

     if(move_uploaded_file($image, $target_path)) 
     {
          echo 'moved';
     }
     else
     {
          echo 'error';
     }
?>

To upload file using ajax you must need to use FormData like below. 要使用ajax上传文件,您必须使用如下所示的FormData

$("form").on('submit', (function(e) {
    e.preventDefault;
    var formData = new FormData(this);

    $.ajax({
        url : "upload.php",
        type : "POST", 
        data : formData,
        cache : false,
        contentType : false,
        processType : false,
        success : function(data) {
            alert(data);
        }
    });
}));

And your PHP script should be like below. 你的PHP脚本应该如下所示。

<?php
     $image=$_FILES['image'];
     $image_tmp =$_FILES['image']['tmp_name'];

     $imagename=date("d-m-Y")."-".time().".jpg";
     $target_path = "uploads/".$imagename;

     if(move_uploaded_file($image_tmp, $target_path)) 
     {
         echo 'moved';
     }
     else
     {
         echo 'error';
     }
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM