javascript - 图片上传ajax jquery

标签 javascript php jquery ajax html

我是 jQuery 的新手。我尝试使用 ajax 方法上传一个 jpg 图像文件。但是当我上传时,它不会上传。谁能帮我做这个?

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';
     }
?>

最佳答案

要使用 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);
        }
    });
}));

您的 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';
     }
?>

关于javascript - 图片上传ajax jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34236501/

相关文章:

javascript - Google 条形图不会在我的 HTML 中动态调整大小

javascript - jQuery DataTables - 重音不敏感的字母排序和搜索

javascript - WKWebView Javascript 不会加载屏幕下方的对象 - Swift

php - 检查 $_POST 是否包含特定字符串 PHP

php - OpenTBS 能否用于生成多张包含随机数量订单项目的发票?

javascript - 数据表与 jquery 1.12 兼容吗?

php - 将 php 变量值传递给 javascript 函数

javascript - jQuery - 寻找一个特定的词

javascript - 创建具有特定坐标的 div

javascript - 显示从 javascript 到 html 的循环