2011-12-06 36 views
5

Giống như mô tả trên this MDN page, nhưng không tải tệp vào bộ nhớ, nghĩa là tôi có thể gửi tệp theo khối bằng cách sử dụng một số luồng giao diện để quy trình khách hàng của tôi độc lập với kích thước tệp. Tệp được chọn bằng phần tử <input type=file> vô hình.Trình tải tệp JS lên, tức là không tải toàn bộ tệp vào bộ nhớ

Đó là vấn đề thực tế: người dùng của tôi sẽ tải lên nhiều tệp cùng một lúc, có thể đủ lớn (và thiết bị khách đủ giới hạn) lo lắng về mức tiêu thụ bộ nhớ. Đồng thời, tôi muốn cung cấp cho người tải lên phía khách hàng tốt đẹp có chỉ báo tiến trình.

Giao diện FileReader dường như không hỗ trợ phát trực tuyến, trừ khi tôi bỏ lỡ điều gì đó tất nhiên.

Giải pháp sẽ hoạt động trong các phiên bản mới nhất của Safari, Chrome và Firefox và nếu có thể cũng có trong IE9 (mặc dù có thể có ít hy vọng). Chỉnh sửa: cũng không có jQuery, chỉ cần JavaScript trống.

+0

Bạn có tìm thấy giải pháp nào cho vấn đề này không? Tôi đang xem xét socket.io/WebSocket tuy nhiên FileReader vẫn có thể không stream. – bhantol

+0

Dường như bạn có thể truyền trực tuyến http://stackoverflow.com/a/25813769/2103767 – bhantol

Trả lời

0

Chỉ duy nhất mà tôi biết có tất cả các khả năng đó (Nhiều tệp tải lên, tải lên nội dung tệp, thanh tiến trình tải lên, v.v.), sử dụng jQuery, được gọi là Plugin tải lên tệp jQuery, ở đây đi url:

http://blueimp.github.com/jQuery-File-Upload/

+0

Có, đã xem nó rồi, cần phải xem xét các nguồn để hiểu chính xác cách chúng phát trực tuyến. – mojuba

Các vấn đề liên quan