JavaScript formdata多次上传

时间:2018-08-30 04:35:57

标签: javascript php html

我需要使用ajax调用将多个文件上传到服务器。

这是代码,每次使用它时,我都会遇到上传错误。该帖子在html端不起作用。

下面是我在html和php中使用的代码。

HTML

  <input name="fileToUploadName"  id="fileinput0" type='file' />   
  <input name="fileToUploadName"  id="fileinput1" type='file' />   
  <input name="fileToUploadName"  id="fileinput2" type='file' />  

JS

function upload(){
    var formdata = new FormData();
    var image0 = $('#fileinput0')[0].files[0];
    if(image0)
       formdata.append('fileToUpload[]',image0);

    var image1 = $('#fileinput1')[0].files[0];
    if(image1)
       formdata.append('fileToUpload[]',image1);


    var image2 = $('#fileinput2')[0].files[0];
    if(image2)
       formdata.append('fileToUpload[]',image2);


  $.ajax({
        url: 'server.php',
        type: 'POST',
        data: formdata,
        async: true,
        dataType: "text",
        success: function (data) {
                 alert(data);

        },
        error: function(jqXHR, textStatus, errorThrown){
          var p =0;
           alert("Error uploading data");
         },
        cache: false,
        contentType: false,
        processData: false
    });

}

server.php

if(isset($_POST['submit']))
{
    $uploaddir = 'uploads/';
    foreach ($_FILES['fileToUpload']['error'] as $key => $error)
    {
        if ($error == UPLOAD_ERR_OK)
        {
            $tmp_name = $_FILES['fileToUpload']['tmp_name'][$key];
            $name = $_FILES['fileToUpload']['name'][$key];
            $uploadfile = $uploaddir . basename($name);

            if (move_uploaded_file($tmp_name, $uploadfile))
            {
                echo "Success: File ".$name." uploaded.<br/>";
            }
            else
            {
                echo "Error: File ".$name." cannot be uploaded.<br/>";
            }
        }
    }
}

但是每次遇到上传错误时,

1 个答案:

答案 0 :(得分:0)

您的问题在这里,在您的JavaScript文件中:

url: 'serever.php';

应该是

url: 'server.php';

但是,这是一个简单的印刷错误。