2014-12-24 11 views
8

giriş html form için kodumu değiştiğinde ben resim yüklemek dosya yükleyen üzerinde çalışıyorum olduğunuUyarı: hattında Bilinmeyen içinde çok parçalı/form-data POST verisinde sınırını Eksik 0

<form method="post" enctype="multipart/form-data"> 
    <input name="uploaded[]" type="file" id="file_upload"/> 
</form> 

benim JavaScript ve Ajax:

 document.getElementById("file_upload").onchange = function() { 
      var id = document.getElementById("user_id").innerHTML; 
      var file = document.getElementById("file_upload").files[0]; 
      alert(file.size); 
      var formdata = new FormData(); 
      formdata.append("filer",file,true); 
      var ajax = new XMLHttpRequest(); 
      ajax.onreadystatechange = 
      function(){ 
       if(ajax.readyState==4 && ajax.status==200){ 
        document.getElementById("one").remove(); 
        var img = document.createElement('img'); 
        var first_path = '/user_image/'; 
        var path = first_path.concat(id,'.png'); 
        img.setAttribute('alt','User image'); 
        img.setAttribute('id','one');       
        img.setAttribute('src',path); 
        document.getElementById("user").appendChild(img); 
        alert("end"); 
       }  
       else{ 
        document.getElementById("one").remove(); 
        var img = document.createElement('img'); 
        img.setAttribute('src','/img/loading.gif'); 
        img.setAttribute('alt','User image'); 
        img.setAttribute('id','one'); 
        document.getElementById("user").appendChild(img);       
       } 
      }    
      ajax.open("POST","upload_image.php"); 
      ajax.setRequestHeader("Content-Type", "multipart/form-data"); 
      ajax.send(formdata); 
     }; 

ve php kod basittir şey Tamam olup olmadığını test etmek için sadece olduğunu

require("../includes/config.php"); //config folder to start the session 
if($_SERVER["REQUEST_METHOD"]=="POST"){ 
     echo '<pre>',print_r($_FILES),'</pre>'; //dumping some variable and arrays to see where the problem is 
} 

Sunucudan aldığım istek şu şekildedir: Uyarı: Bilinmeyen satırında çoktan/form-data POST verisi eksik satır 0 ancak formdata ve istek başlığını gönderdim ve dosyayı açtım.

Sadece aşağıdaki satırı kaldırmak zorunda

cevap

12

: multipart/form-data olarak veri gönderilmesi yerine

ajax.setRequestHeader("Content-Type", "multipart/form-data");

0

:

ajax.setRequestHeader("Content-Type", "multipart/form-data"); 

Sen application/json olarak göndermelidir:

ajax.setRequestHeader("Content-Type", "application/json"); 
+0

Bir utf-8 dosya adı yüklemeniz gerekiyorsa? – gtzinos

İlgili konular