2010-06-02 41 views
5

Tôi có câu hỏi chung về vấn đề này.Thực tiễn tốt nhất để tải lên nhiều hình ảnh (2000+) lên máy chủ

Khi bạn có thư viện, đôi khi mọi người cần phải tải lên 1000 hình ảnh cùng một lúc. Rất có thể, nó sẽ được thực hiện thông qua một tệp .zip. Cách tốt nhất để đi về việc tải loại điều này lên máy chủ là gì. Nhiều lần, máy chủ có thời gian chờ vv mà cần phải được tính toán. Tôi tự hỏi tôi nên tìm kiếm những thứ gì và cách tốt nhất để xử lý một lượng lớn hình ảnh được tải lên là gì.

Tôi đoán bạn sẽ cho phép người dùng tải lên tệp zip (giả sử hết thời gian chờ không ảnh hưởng đến bạn) và tệp zip này được tải lên một thư mục cụ thể, giả sử trong trường hợp này một thư mục được tạo cho mỗi người dùng trong hệ thống. Sau đó bạn sẽ giải nén thư mục trên máy chủ và quét thư mục của người dùng cho bất kỳ thư mục nào chứa tệp .jpg hoặc .png hoặc .gif (v.v.) và sau đó nhập chúng vào bảng tương ứng. Tôi đoán được gắn nhãn bằng tên thư mục.

Tôi có thể gặp phải vấn đề nào về phía máy chủ?

Tôi biết rằng có thể có nhiều vấn đề. Ngay cả những ý tưởng chung cũng có thể để tôi có thể nghiên cứu thêm. Cảm ơn!

Ngoài ra, tôi sẽ lập trình trong Ruby on Rails nhưng tôi nghĩ câu hỏi này được áp dụng trên bất kỳ ngôn ngữ nào.

+0

Hình ảnh lớn bao nhiêu? Bạn có thể cho chúng tôi giới hạn trên về số lượng hình ảnh không? – Cam

Trả lời

2

Không có lý do gì khiến bạn không thể xử lý loại nội dung này bằng ứng dụng web.Có một vài thành phần tuyệt vời đó sẽ là hữu ích cho việc này:

  1. Uploadify (dựa trên jquery/flash)
  2. plupload (từ moxiecode, người dân TinyMCE)

Lý do họ hữu ích là trong trường hợp đầu tiên, nó sử dụng một thành phần flash để xử lý các video tải lên, vì vậy bạn có thể chọn các nhóm tệp từ cửa sổ trình duyệt tệp (giả sử không có ai chọn từng nghìn ảnh ..!) và với plupload, kéo và thả cũng được hỗ trợ cùng với nhiều nền tảng hơn.

Khi bạn đã làm việc với giao diện, nội dung của máy chủ chỉ cần có khả năng xử lý các video tải lên riêng lẻ, liên kết chúng với một số loại tài khoản người dùng và từ đó sẽ khá đơn giản.

Liên quan đến vấn đề phía máy chủ, đó thực sự là một câu hỏi lớn, tùy thuộc vào số lượng người sẽ sử dụng ứng dụng cùng một lúc, kích thước hình ảnh, bất kỳ quá trình xử lý nào diễn ra sau đó. Hãy nhớ rằng, các tệp được lưu giữ ở vị trí tạm thời trong khi tập lệnh đang xử lý chúng và bị xóa khi hoàn thành hoặc được sao chép vào vị trí lưu trữ cuối cùng bởi tập lệnh của bạn, do đó, chi phí/thời gian chờ không gian/bộ nhớ có thể là một vấn đề.

Nếu hình ảnh có kích thước lớn, nói thô hoặc tif, thì loại nội dung này vẫn có thể hoạt động với các đoạn tải lên chunked, nhưng việc triển khai một số loại tải lên FTP có thể dễ dàng hơn. Đó là một câu hỏi mơ hồ, nhưng nên có rất nhiều ở đây để giúp bạn đi;)

+0

nhờ danp. Có rất nhiều câu trả lời hay và tôi sẽ xem xét chúng. Cảm ơn tất cả mọi người! – jim

1

Đối với nhiều hình ảnh đó phải là một ứng dụng nghiêm trọng .. do đó mang đến cho bạn sự tự do để đề xuất một phần mềm chạy trên máy khách (giống như yahoo mail/picassa) sẽ quản lý 'quản lý' (mạng gián đoạn/tiếp tục hỗ trợ vv) tải lên hình ảnh.

Đối với phía máy chủ, bạn có thể xử lý từng cái một (giả sử khách hàng của bạn đang gửi chúng theo cách đó) .. do đó giữ cho nó đơn giản.

+1

Một tùy chọn tương tự sẽ là thay vì đề xuất một ứng dụng khách, bạn có thể tạo một applet Java hoặc một thứ gì đó vẫn chạy trong trình duyệt, nhưng cung cấp cho bạn khả năng kiểm soát phía máy khách tốt hơn. – Cam

1

xem nhanh http://gallery.menalto.com
họ có phương pháp tải hình ảnh lên phòng trưng bày. Bạn có thể chọn những người phù hợp với bạn.

1

Hoặc có ứng dụng khách hoặc một số mã Ajax gửi hình ảnh từng người một, ngăn thời gian chờ. Hoặc nếu điều này không có sẵn cho công chúng. FTP vẫn hoạt động ...

1

Tôi muốn đề xuất một ứng dụng khách (có thể được viết bằng AIR hoặc Titanium) hoặc cho người dùng biết FTP là gì. Ví dụ:

deviantArt.com cung cấp FTP làm phương thức tải lên để trả tiền cho người đăng ký và nó hoạt động thực sự tốt.

Flickr thay vào đó có ứng dụng riêng của nó cho việc này. "Tải lên Flickr".

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