2013-10-11 15 views
5

Tôi đang tải tệp lên bằng mã javascript lên máy chủ. Tôi nhận thấy rằng các trình duyệt khác nhau đang gửi các byte có kích thước khác nhau. Như bạn có thể thấy trong các hình ảnh sau đây, Internet Explorer đang gửi các byte nhỏ nhưng Chrome và Firefox gửi các byte lớn hơn.Tại sao kích thước gói tải lên Javascript thay đổi theo trình duyệt?

  1. Tôi đang tải tệp lên bằng XMLHttpRequest. Tôi có thể đặt các byte tải lên tiêu chuẩn cho tất cả các trình duyệt không? Bởi vì lưu lượng kích thước khác nhau đang đưa ra các lỗi trên một số trình duyệt. Lỗi Http là 404.13.
  2. Tôi đã định cấu hình tệp web.config là <requestLimits maxAllowedContentLength="1073741824"> (1GB) nhưng khi tôi tải lên một tệp lớn (500 Mb) với Firefox và Chrome, máy chủ sẽ đưa ra system.OutOfMemoryException. Internet Explorer đang hoạt động tốt.

Firefox

enter image description here

Internet Explorer

enter image description here

Chrome

enter image description here

+1

lặp lại? http://stackoverflow.com/questions/19332692/does-javascript-features-change-by-browser –

Trả lời

1

Tôi không biết tại sao nó khác, nhưng bạn có thể thay đổi hành vi của mình dựa trên trình duyệt (trái ngược với chuẩn hóa như bạn đã hỏi trong câu hỏi).

Tham khảo mã trong trình tải lên moo làm ví dụ.

Từ: https://github.com/juanparati/MooUpload/blob/master/Source/MooUpload.js

// Get slice method 
    if (file.mozSlice)   // Mozilla based 
     chunk = file.mozSlice(start, total) 
    else if (file.webkitSlice) // Chrome, Safari, Konqueror and webkit based 
     chunk = file.webkitSlice(start, total); 
    else      // Opera and other standards browsers 
     chunk = file.slice(start, total) 
Các vấn đề liên quan