Làm thế nào để tải lên nhiều tập tin cùng một lúc?


22

Chúng tôi cần tải lên nhiều tệp thuộc các loại khác nhau, có mô-đun nào sẽ kiểm tra các loại mime hợp lệ và chỉ tải lên các tệp hợp lệ, (dựa trên cài đặt trang, ví dụ: png, doc, jpg, txt)?

Câu trả lời:


27

clientide_validation (drupal-6 và drupal-7) thực hiện một số kiểm tra phía máy khách bổ sung, bao gồm kiểm tra các phần mở rộng tệp được tải lên (nhưng không phải là MIME Type). (Và, như @ tim.plunkett đã đề cập trong các nhận xét, mimedetect rất hữu ích cho xác thực Loại MIME phía máy chủ, nhưng tệp phải được tải lên máy chủ để được xác thực.)

Để tải lên nhiều tệp, hãy xem xét các điều sau:

  • swfupload (drupal-6; Flash)
  • tải trọng (drupal-6 và drupal-7; Flash và một số công nghệ khác được hỗ trợ; phát triển mới / đang phát triển)

Để tải lên nhiều hình ảnh , hãy xem xét thêm:

  • image_fupload (drupal-6; sử dụng swfupload ở trên)
  • jifupload (drupal-5 và drupal-6; miễn phí; sử dụng applet Java)
  • aurigma (drupal-6; yêu cầu đăng ký mua phần mềm / dịch vụ)

2
Tôi đã hỏi về các loại mime vì tôi đã đọc rằng sử dụng chúng là cách tốt hơn là chỉ kiểm tra các phần mở rộng tệp.
palbakulich

@palhmbs - Bạn đọc đúng. Bạn phải luôn luôn kiểm tra loại mime của các tệp được tải lên.
Christian

1
Bất kỳ mô-đun nào ở trên cũng có thể tích hợp với MimeDetect và xử lý việc đó cho bạn.
tim.plunkett

Nếu bạn sẵn sàng mở rộng clientide_validation để sử dụng mimedetect, vui lòng gửi mã ở đâu đó và để chúng tôi thêm tính năng này cho sử dụng chung.
Capi Etheriel

5

Chúng tôi đã có may mắn tuyệt vời với Plupload . Nó uốn cong về phía sau để đạt được khả năng tương thích giữa các trình duyệt, sử dụng Silverlight, Flash, HTML5 và quay lại các widget 'chọn tệp' cổ điển của HTML4 tùy thuộc vào khả năng của trình duyệt.

Các mô-đun tích hợp Drupal là một chút khó khăn, nhưng chúng tôi đã sử dụng nó thành công trên một số dự án lớn để cư Hình ảnh Fields. Trong Drupal 7, tôi tin rằng họ đã lấy hầu hết giao diện người dùng và biến nó thành một mô-đun API thuần túy có thể được sử dụng bởi các công cụ như Media chỉ để xử lý công việc tải lên. Nếu bạn muốn làm bất cứ điều gì đặc biệt thú vị, có lẽ bạn sẽ phải viết một chút mã tùy chỉnh để xử lý nơi tiện ích tải lên được hiển thị, nhưng nó rất chắc chắn.

Chúng tôi đã quản lý để liên kết với các sự kiện nội bộ của mình để xử lý khá nhiều quá trình xử lý hậu kỳ và kiểm tra các lỗi xác thực MIMEtypes / kicking có thể được thực hiện mà không cần quá nhiều vấn đề.


1
Bạn đã từng sử dụng phiên bản D6 của Plupload chưa?
doublejosh

@Eathon Bạn có ý tưởng nào liên quan đến tự động tải lên trong mô-đun tải. Tôi có ý tưởng từ cuộc thảo luận drupal.org/node/1804382#comment-7810763 . Ngoài ra còn có giải pháp stackoverflow.com/questions/8137229/ , nhưng tôi không biết cách tích hợp với drupal từ API
mohit_rocks

4

Đây là wiki so sánh của tôi trong nhóm Đánh giá mô-đun tương tự. http://groups.drupal.org/node/155764

Đổ nội dung ở đây như bây giờ ...

Trình tải lên hàng loạt Aurigma cho CCK (6.x-2.0) Trình tải lên Aurigma cho Imagefield tích hợp Trình tải lên hình ảnh Aurigma thương mại với Drupal. Nhiều hình ảnh được tải lên trong một lô vào một trường hình ảnh.

Image FUpload (6.x-3.0-rc2) Image FUpload (Multiupload) là phần bổ sung cho hình ảnh và mô-đun hình ảnh của CCK, cung cấp khả năng cho mọi người dùng được phép tải lên hình ảnh bằng cách sử dụng mô-đun hình ảnh hoặc mô-đun hình ảnh, để tải lên nhiều hình ảnh với một cú nhấp chuột đơn giản. Tất cả các hình ảnh được chọn được tải lên thông qua một mô-đun flash (swfupload) và được xử lý tự động.

Tích hợp Plupload (6.x-1.x-dev, 7.x-1.0-beta3) Cung cấp tích hợp giữa cho tiện ích Plupload để tải lên nhiều tệp và Drupal. Plupload là một công cụ tải lên nhiều tệp được cấp phép GPL có thể trình bày các widget trong Flash, Gears, HTML 5, Silverlight, BrowserPlus và HTML4 tùy thuộc vào khả năng của máy khách.

SWFUpload (6.x-2.0-beta8) Mô-đun SWFUpload cho Drupal cung cấp tiện ích cho Trường tệp của CCK và sử dụng thư viện SWFUpload để cho phép tải lên nhiều tệp cùng lúc.

jUpload cho Imagefield (6.x-1.x-dev) Bạn đã bao giờ ước mình có thể tải một nhóm hình ảnh cùng một lúc lên một trường hình ảnh chưa? Mô-đun jUpload cho Imagefield (jifupload) tích hợp applet JUpload Java với mô-đun ImageField cho CCK. Nhiều hình ảnh được tải lên trong một lô vào một trường hình ảnh được đặt cho nhiều giá trị.

Cách tiếp cận khác nhau, cùng một kết quả ...

Hỗ trợ zip ImageField (6.x-1.0-beta2) Đây là mô-đun trợ giúp cho ImageField. Khi tải lên nhiều hình ảnh cho các trường hình ảnh với nhiều giá trị, mô-đun này thêm khả năng tải lên nhiều hình ảnh trong các tệp zip thay vì riêng lẻ.

Nhập trường ảnh (5.x-1.5, 6.x-1.10) Nhập trường ảnh cho phép người dùng có quyền thích hợp để nhập một số lượng lớn hình ảnh vào loại nội dung CCK có chứa trường tệp hoặc trường hình ảnh. Mô-đun có thể lấy tiêu đề và mô tả bằng EXIF ​​hoặc IPTC. Lưu ý: Để sử dụng mô-đun này, bạn phải có thể tải hình ảnh lên máy chủ của mình thông qua FTP, SCP hoặc các phương pháp khác.




0

Tải lên HTML5 http://drupal.org/sandbox/z7/1348240

Mô-đun này nên được coi là một giải pháp hợp lý để tải lên hàng loạt hình ảnh (và các tệp khác) cho Drupal 7 trong trình duyệt hiện đại (tuân thủ HTML5), không có gì hơn.

Chưa thử nhưng mã rõ ràng và nhỏ gọn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.