Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

HTML5 File API readAsBinaryString อ่านไฟล์ใหญ่กว่าและต่างจากไฟล์บนดิสก์

สิ่งนี้อาจเกิดขึ้นหากคุณอ่านไฟล์เป็น binary string และสร้าง multipart/form-data request เอง

ควรลองใช้ xhr.send(File) และจัดการ event xhr progress ซึ่งยิงเมื่อรายการทั้งหมดถูกสร้างแล้ว

ตัวอย่าง

นี่คือฟังก์ชันอัปโหลดของเรา:

function display(url, files) {
  var myForm = new FormData();
  for (var j = 0, file; file = files[j]; ++j) {
    myForm.append(file.name, file);
  }
  var xhr = new XMLHttpRequest();
  xhr.open('POST', url, true);
  xhr.onload = function(e) { ... };
  xhr.send(formData);
}