2009-01-26 51 views
15

Liên quan đến câu hỏi này, Upload files directly to Amazon S3 from ASP.NET application, có cách nào để thực hiện điều này và có thanh tiến trình không?Tải tệp trực tiếp lên S3 bằng thanh tiến trình

---- EDIT ----

Hai ngày sau đó và vẫn không có may mắn với một cách trực tiếp. Đã tìm thấy một điều có vẻ đầy hứa hẹn nhưng không miễn phí: http://www.flajaxian.com/

Sử dụng flash để tải trực tiếp lên S3 bằng thanh tiến trình.

+1

Flajaxian dường như miễn phí ngay bây giờ – BigJoe714

+0

@ BigJoe714 cảm ơn thông tin! –

+0

Thật dễ dàng để thực hiện thanh tiến trình nếu bạn đang tải lên trực tiếp từ giả sử JS sử dụng sự kiện httpUploadProgress. Nhưng tôi sẽ làm gì thanh tiến trình JS-> PHP proxy-> S3? – trainoasis

Trả lời

4

Tôi cũng đang tìm giải pháp. Có lẽ đây sẽ là một số giúp đỡ,

From AWS Dev Commnity Nhưng trong nhiều ngôn ngữ (PHP, Java), cho tập tin lớn, bạn phải sử dụng dòng qua đó môi trường ngôn ngữ sẽ mất khối của tập tin lớn của bạn một sau khi khác (để lấp đầy bộ nhớ trung tâm với số tiền rất lớn của dữ liệu cho POST http của S3 cần cho upload.

những điều tốt đẹp về luồng là họ có một callback được gọi là bất cứ khi nào đoạn tiếp theo được đọc cho thêm PUT (theo nghĩa https) vào S3. Bạn có thể sử dụng gọi lại này để tính và hiển thị tiến trình trên ứng dụng khách Giao diện người dùng.

Xem tài liệu về libcurl để xem trong chi tiết cách tất cả hoạt động.


Cập nhật: Có vẻ như có hai tùy chọn đơn giản.

  1. Flash, via the FileReference class
  2. With a Java applet

Cá nhân tôi ghét sử dụng phần mở rộng bên thứ 3 (Flash, Java) để thực hiện một chức năng ứng dụng, nhưng tôi đã không tìm thấy một cách khác.

+0

Bạn có cân nhắc sử dụng API Tệp ​​W3C có sẵn trong một số trình duyệt không?Và những phát hiện của bạn là gì? – Quickredfox

+0

Chưa thử – Blaine

-2

Cách tiếp cận khác là sử dụng một cái gì đó như Uber Uploader (http://uber-uploader.sourceforge.net/) là giải pháp lai perl/php với thanh tiến trình. Bạn chỉ cần tải các tập tin lên máy chủ của bạn và sau đó có máy chủ của bạn FTP chúng trong nền đến đích cuối cùng. Nó là một bước bổ sung nhưng nó cung cấp cho bạn một số thời gian để làm bất kỳ xử lý/mã hóa/vv mà bạn có thể cần phải làm trước khi gửi đến S3.

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