简体   繁体   English

jquery - 使用 ajax 上传图像文件不起作用

[英]jquery - upload image file using ajax is not working

I want to submit my image via jquery and ajax, this is my code:我想通过 jquery 和 ajax 提交我的图像,这是我的代码:

    <form name="photo" id="imageUploadForm" enctype="multipart/form-data" action="<?php echo $base_url ?>admin/resid.php" method="post">
    <input type="file" accept="image/*" id="imguploadresid" /> 
</form>

<Script>

$("#imguploadresid").on("change", function() {
        $("#imageUploadForm").submit();
});
    
$('#imageUploadForm').on('submit',(function(e) {
        e.preventDefault();

        var form = $('#imageUploadForm')[0];
        var formData = new FormData(form);
  
        $.ajax({
            type:'POST',
            url: "<?php echo $base_url ?>admin/resid.php",
            data:formData,
            cache:false,
            enctype: 'multipart/form-data',
            contentType: false,
            processData: false,
            success:function(data){
                console.log("succes")
            },
            error: function(data){
                console.log("error");
            }
        });
    }));

just to add some explanation, when the use choose an image, the form submits immediately.只是添加一些解释,当使用选择图像时,表单会立即提交。

it works fine and post the data to my php page, but it's empty and has no data它工作正常并将数据发布到我的 php 页面,但它是空的并且没有数据

I put print_R($_POST) in my page and the result is我把 print_R($_POST) 放在我的页面中,结果是

Array

( ) ( )

I logged the ajax post and there was no data posting.我记录了 ajax 帖子并且没有数据发布。

what is the problem?问题是什么?

Your image is probably in PHP array $_FILES.您的图像可能在 PHP 数组 $_FILES 中。 You must download your file from it to get your image.您必须从中下载文件才能获取图像。

$yourImage = file_get_contents($_FILES['image']['tmp_name']);

You have also to add "name" attribute to your input:您还必须在输入中添加“名称”属性:

<form name="photo" id="imageUploadForm" enctype="multipart/form-data" action="<?php echo $base_url ?>admin/resid.php" method="post">
  <input name="image" type="file" accept="image/*" id="imguploadresid" /> 
</form>

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

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