จะอัพโหลดหลายไฟล์พร้อมกันได้อย่างไร


22

เราจำเป็นต้องอัปโหลดไฟล์หลายประเภทที่แตกต่างกันมีโมดูลที่จะตรวจสอบประเภท mime ที่ถูกต้องและอัปโหลดเฉพาะไฟล์ที่ถูกต้อง (ขึ้นอยู่กับการตั้งค่าไซต์เช่น png, doc, jpg, txt) หรือไม่

คำตอบ:


27

clientside_validation (drupal-6 และ drupal-7) ทำการตรวจสอบฝั่งไคลเอ็นต์เพิ่มเติมรวมถึงการตรวจสอบนามสกุลไฟล์ที่อัพโหลด (แต่ไม่ใช่ประเภท MIME) (และตามที่ @ tim.plunkett พูดถึงในความคิดเห็นmimedetectมีประโยชน์สำหรับการตรวจสอบความถูกต้องประเภท MIME ฝั่งเซิร์ฟเวอร์ แต่ไฟล์จะต้องอัปโหลดไปยังเซิร์ฟเวอร์เพื่อตรวจสอบความถูกต้อง)

สำหรับการอัปโหลดหลายไฟล์ให้พิจารณาสิ่งต่อไปนี้:

  • swfupload (drupal-6; Flash)
  • plupload (drupal-6 และ drupal-7; รองรับแฟลชและเทคโนโลยีอื่น ๆ อีกมากมาย; ใหม่ / กำลังพัฒนา)

สำหรับการอัปโหลดหลายภาพให้ลองพิจารณาสิ่งเหล่านี้เพิ่มเติม:

  • image_fupload (drupal-6; ใช้ swfupload ด้านบน)
  • jifupload (drupal-5 และ drupal-6; ฟรีใช้ Java applet)
  • aurigma (drupal-6 จำเป็นต้องมีการซื้อซอฟต์แวร์ / สมัครสมาชิกบริการ)

2
ฉันถามเกี่ยวกับประเภท mime เพราะฉันได้อ่านว่าการใช้พวกมันเป็นวิธีปฏิบัติที่ดีกว่าเพียงแค่ตรวจสอบนามสกุลไฟล์
palbakulich

@palhmbs - คุณอ่านถูกต้อง คุณควรตรวจสอบไฟล์ที่อัพโหลดประเภท mime ทุกครั้ง
คริสเตียน

1
โมดูลใด ๆ ข้างต้นสามารถรวมเข้ากับMimeDetectและจัดการกับคุณได้
tim.plunkett

หากคุณยินดีขยาย clientside_validation เพื่อใช้ประโยชน์จาก mimedetect โปรดโพสต์รหัสที่ใดที่หนึ่งและให้เราเพิ่มคุณสมบัติสำหรับการใช้งานสาธารณะทั่วไป
Capi Etheriel

5

เรามีโชคดีกับPlupload มันโค้งไปทางด้านหลังเพื่อให้เกิดความเข้ากันได้ของเบราว์เซอร์โดยใช้ Silverlight, Flash, HTML5 และกลับไปใช้วิดเจ็ต 'เลือกไฟล์' คลาสสิกของ HTML4 ขึ้นอยู่กับความสามารถของเบราว์เซอร์

โมดูลรวม Drupalเป็นหยาบเล็กน้อย แต่เราได้ใช้มันประสบความสำเร็จกับจำนวนของโครงการขนาดใหญ่ที่จะเติมภาพทุ่ง ใน Drupal 7 ฉันเชื่อว่าพวกเขาได้ดึง UI ส่วนใหญ่แล้วเปลี่ยนเป็นโมดูล API บริสุทธิ์ที่สามารถใช้งานได้โดยเครื่องมือเช่น Media เพื่อจัดการกับงานอัปโหลด หากคุณต้องการทำอะไรที่ขี้ขลาดเป็นพิเศษคุณอาจต้องเขียนโค้ดที่กำหนดเองเล็กน้อยเพื่อจัดการกับตำแหน่งที่วิดเจ็ตอัพโหลดปรากฏขึ้น

เราได้พยายามผูกเข้ากับกิจกรรมภายในเพื่อจัดการกับการโพสต์การประมวลผลและการตรวจสอบข้อผิดพลาดในการตรวจสอบความถูกต้องของ MIME / การเตะกลับอาจทำได้โดยไม่ต้องแก้ไขมากเกินไป


1
เคยใช้ Plupload รุ่น D6 หรือไม่
doublejosh

@Eathon คุณมีความคิดใด ๆ เกี่ยวกับการอัปโหลดอัตโนมัติในโมดูล plupload ผมมีความคิดจากการสนทนาdrupal.org/node/1804382#comment-7810763 นอกจากนี้ยังมีโซลูชันstackoverflow.com/questions/8137229/ …แต่ฉันไม่รู้จักวิธีผสานรวมกับ drupal จาก API
mohit_rocks

4

นี่คือวิกิเปรียบเทียบของฉันในกลุ่มรีวิวโมดูลที่คล้ายกัน http://groups.drupal.org/node/155764

ทิ้งเนื้อหาที่นี่ตามที่เป็นอยู่ในขณะนี้ ...

Aurigma Mass Uploader สำหรับ CCK (6.x-2.0) โมดูล Aurigma Uploader สำหรับ Imagefield รวมเอา Aurigma Image Uploader เชิงพาณิชย์เข้ากับ Drupal ภาพหลายภาพจะถูกอัพโหลดในชุดเดียวลงในหลาย ๆ ภาพ

Image FUpload (6.x-3.0-rc2) Image FUpload (Multiupload) ซึ่งเป็นส่วนเพิ่มเติมของ image และโมดูล imagefield ของ CCK ช่วยให้ผู้ใช้ทุกคนที่ได้รับอนุญาตอัพโหลดรูปภาพโดยใช้โมดูลรูปภาพหรือโมดูล imagefield เพื่ออัพโหลดหลาย ๆ ภาพได้ด้วยคลิกเดียว รูปภาพที่เลือกทั้งหมดจะถูกอัพโหลดผ่านโมดูลแฟลช (swfupload) และถูกประมวลผลโดยอัตโนมัติ

การรวม Plupload (6.x-1.x-dev, 7.x-1.0-beta3) จัดให้มีการรวมระหว่างสำหรับวิดเจ็ต Plupload เพื่ออัปโหลดหลายไฟล์และ Drupal Plupload เป็นเครื่องมืออัปโหลดไฟล์หลายไฟล์ที่ได้รับอนุญาตจาก GPL ซึ่งสามารถแสดงวิดเจ็ตใน Flash, Gears, HTML 5, Silverlight, BrowserPlus และ HTML4 ขึ้นอยู่กับความสามารถของคอมพิวเตอร์ไคลเอนต์

SWFUpload (6.x-2.0-beta8) โมดูล SWFUpload สำหรับ Drupal จัดให้มีวิดเจ็ตสำหรับ Filefield ของ CCK และใช้ไลบรารี SWFUpload เพื่ออนุญาตให้อัปโหลดไฟล์หลายไฟล์พร้อมกัน

jUpload สำหรับ Imagefield (6.x-1.x-dev) คุณเคยต้องการที่จะอัปโหลดกลุ่มรูปภาพในคราวเดียวไปยัง imagefield หรือไม่? โมดูล jUpload สำหรับ Imagefield (jifupload) รวมแอปเพล็ต JUpload Java เข้ากับโมดูล ImageField สำหรับ CCK ภาพหลายภาพจะถูกอัพโหลดในชุดเดียวเป็นชุดภาพสำหรับหลายค่า

วิธีการที่แตกต่างกันผลลัพธ์เดียวกัน ...

รองรับ zip ImageField (6.x-1.0-beta2) นี่คือโมดูลตัวช่วยสำหรับ ImageField เมื่ออัปโหลดภาพหลายภาพสำหรับฟิลด์ภาพที่มีหลายค่าโมดูลนี้จะเพิ่มความสามารถในการอัปโหลดภาพหลายภาพในไฟล์ซิปแทนที่จะเป็นรายบุคคล

Imagefield Import (5.x-1.5, 6.x-1.10) Imagefield Import ช่วยให้ผู้ใช้ที่มีสิทธิ์ที่เหมาะสมในการนำเข้ารูปภาพจำนวนมากไปยังประเภทเนื้อหา CCK ซึ่งมี filefield หรือ imagefield โมดูลสามารถคว้าชื่อและคำอธิบายโดยใช้ EXIF ​​หรือ IPTC หมายเหตุ: ในการใช้โมดูลนี้คุณจะต้องสามารถอัพโหลดภาพไปยังเซิร์ฟเวอร์ของคุณผ่าน FTP, SCP หรือวิธีการอื่น ๆ




0

อัปโหลด HTML5 http://drupal.org/sandbox/z7/1348240

โมดูลนี้ควรได้รับการยกย่องว่าเป็นโซลูชั่นที่มีความคล่องตัวสำหรับการอัปโหลดภาพ (และไฟล์อื่น ๆ ) สำหรับ Drupal 7 ในเบราว์เซอร์สมัยใหม่ (รองรับ HTML5) ที่ทันสมัยไม่มีอะไรเพิ่มเติม

ยังไม่ลอง แต่รหัสจะชัดเจนและกะทัดรัด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.