weixin_33713503 2015-12-12 05:05 采纳率: 0%
浏览 26

图片上传ajax jquery

Im new to jQuery. I try to upload a jpg image file by using ajax method. But when I upload, it doesn't upload. Could anyone please help me to do this?

HTML

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

jQuery

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

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


})

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';
     }
?>
  • 写回答

1条回答 默认 最新

  • weixin_33744141 2015-12-12 05:55
    关注

    To upload file using ajax you must need to use FormData like below.

    $("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
         $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';
         }
    ?>
    
    评论

    报告相同问题?

    悬赏问题

    • ¥80 关于海信电视聚好看安装应用的问题
    • ¥15 vue引入sdk后的回调问题
    • ¥15 求一个智能家居控制的代码
    • ¥15 ad软件 pcb布线pcb规则约束编辑器where the object matpcb布线pcb规则约束编辑器where the object matchs怎么没有+15v只有no net
    • ¥15 虚拟机vmnet8 nat模式可以ping通主机,主机也能ping通虚拟机,但是vmnet8一直未识别怎么解决,其次诊断结果就是默认网关不可用
    • ¥20 求各位能用我能理解的话回答超级简单的一些问题
    • ¥15 yolov5双目识别输出坐标代码报错
    • ¥15 这个代码有什么语法错误
    • ¥15 给予STM32按键中断与串口通信
    • ¥15 使用QT实现can通信