使用ajax和php上传文件时出现问题

时间:2017-04-17 15:05:18

标签: javascript php jquery ajax

我正在尝试使用ajax和php上传文件主要是图像,但无法在php端检索图像。

HTML代码

<input type='file' name='LogoImageUploader' id='LogoImageUploader' onchange='FileUploadCheck();' />

ajax致电

var formData = new FormData();
formData.append('file', $('#LogoImageUploader')[0].files[0]);
  jQuery.ajax({
          type: "POST",       
          url: "FileUploadChecker.php",      
         data: formData,
          processData: false, 
          contentType: false,
          async: false,
          cache: false,
          success : function(result){
              alert(result);
          }
        });
}

然后是 php代码,这里我无法检索图像:

echo basename($_FILES['LogoImageUploader']['name']);

ajax调用导致以下有效负载请求:

------WebKitFormBoundaryb3jaGq8f7FbEKHF7
Content-Disposition: form-data; name="file"; filename="image.png"
Content-Type: image/png


------WebKitFormBoundaryb3jaGq8f7FbEKHF7--

当我在我的php文件中执行var_dump($_FILES)时,我得到的ajax调用的响应是

array (size=0)
  empty

1 个答案:

答案 0 :(得分:0)

您要按名称file发送图片,请使用

 $_FILES['file']

而不是

 $_FILES['LogoImageUploader']

或更改js

 formData.append('LogoImageUploader', $('#LogoImageUploader')[0].files[0]);