dongnao2048 2014-08-14 05:56
浏览 50
已采纳

如何在jquery中获取表单文件字段以上传图像

I have below html

This form allows you to upload a file to the server.<br>
        <div class="imguploadpath" style="width:100%;height:200px;background-color:#CCC;">
          <form name="myFormName" id ="myFormId" action="" method="post">
             <input type="file" name="img" id = "image_pe">
             <br/><br/><br/><br/>
             <input id="cmdSubmit" value="Submit" type="submit" class="">
          </form>
        </div>

I am trying to get the file field values to upload the file in php using below script

jQuery( "#cmdSubmit" ).on( "click", function() {
   var file = jQuery('#image_pe').val(); 

//i have to send file property to php file in jquery ajax

 $.ajax({
            url: 'submit.php?files',
            type: 'POST',
            data: data,
            cache: false,
            dataType: 'json',
            processData: false, // Don't process the files
            contentType: false, // Set content type to false as jQuery will tell the server its a query string request
            success: function(data, textStatus, jqXHR)
            {
                if(typeof data.error === 'undefined')
                {
                    // Success so call function to process the form
                    submitForm(event, data);
                }
                else
                {
                    // Handle errors here
                    console.log('ERRORS: ' + data.error);
                }
            },
            error: function(jqXHR, textStatus, errorThrown)
            {
                // Handle errors here
                console.log('ERRORS: ' + textStatus);
                // STOP LOADING SPINNER
            }
        });
       return false;

    });

but var file only return some temp path c://fakepath/image.jpg

how do upload in jquery and php, I need to pass the form field in php file, I know value() jquery function is wrong.

what is the correct way to do it ?

for php file upload i was thinking of using this script http://www.tizag.com/phpT/fileupload.php

  • 写回答

2条回答 默认 最新

  • douhui9631 2014-08-14 06:02
    关注

    Try this: JQuery:

    var formdata = new FormData();
                jQuery.each($('#image_pe')[0].files, function(i, file) {
                 formdata.append('image_pe', file);
                });
    
    
                $.ajax({
                    url: "/my.php",
                    data : formdata,
                    dataType : "json",
                    type : "post",
                    cache: false,
                    contentType: false,
                    processData: false,
                    success: function(data){
    
                    },
                    failure: function(){
                        $(this).addClass("error");
                    }
                });
                return false;
    

    PHP Code:

    $file = $_FILES['image_pe'];
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化