เราจำเป็นต้องอัปโหลดไฟล์หลายประเภทที่แตกต่างกันมีโมดูลที่จะตรวจสอบประเภท mime ที่ถูกต้องและอัปโหลดเฉพาะไฟล์ที่ถูกต้อง (ขึ้นอยู่กับการตั้งค่าไซต์เช่น png, doc, jpg, txt) หรือไม่
เราจำเป็นต้องอัปโหลดไฟล์หลายประเภทที่แตกต่างกันมีโมดูลที่จะตรวจสอบประเภท mime ที่ถูกต้องและอัปโหลดเฉพาะไฟล์ที่ถูกต้อง (ขึ้นอยู่กับการตั้งค่าไซต์เช่น png, doc, jpg, txt) หรือไม่
คำตอบ:
clientside_validation (drupal-6 และ drupal-7) ทำการตรวจสอบฝั่งไคลเอ็นต์เพิ่มเติมรวมถึงการตรวจสอบนามสกุลไฟล์ที่อัพโหลด (แต่ไม่ใช่ประเภท MIME) (และตามที่ @ tim.plunkett พูดถึงในความคิดเห็นmimedetectมีประโยชน์สำหรับการตรวจสอบความถูกต้องประเภท MIME ฝั่งเซิร์ฟเวอร์ แต่ไฟล์จะต้องอัปโหลดไปยังเซิร์ฟเวอร์เพื่อตรวจสอบความถูกต้อง)
สำหรับการอัปโหลดหลายไฟล์ให้พิจารณาสิ่งต่อไปนี้:
สำหรับการอัปโหลดหลายภาพให้ลองพิจารณาสิ่งเหล่านี้เพิ่มเติม:
เรามีโชคดีกับPlupload มันโค้งไปทางด้านหลังเพื่อให้เกิดความเข้ากันได้ของเบราว์เซอร์โดยใช้ Silverlight, Flash, HTML5 และกลับไปใช้วิดเจ็ต 'เลือกไฟล์' คลาสสิกของ HTML4 ขึ้นอยู่กับความสามารถของเบราว์เซอร์
โมดูลรวม Drupalเป็นหยาบเล็กน้อย แต่เราได้ใช้มันประสบความสำเร็จกับจำนวนของโครงการขนาดใหญ่ที่จะเติมภาพทุ่ง ใน Drupal 7 ฉันเชื่อว่าพวกเขาได้ดึง UI ส่วนใหญ่แล้วเปลี่ยนเป็นโมดูล API บริสุทธิ์ที่สามารถใช้งานได้โดยเครื่องมือเช่น Media เพื่อจัดการกับงานอัปโหลด หากคุณต้องการทำอะไรที่ขี้ขลาดเป็นพิเศษคุณอาจต้องเขียนโค้ดที่กำหนดเองเล็กน้อยเพื่อจัดการกับตำแหน่งที่วิดเจ็ตอัพโหลดปรากฏขึ้น
เราได้พยายามผูกเข้ากับกิจกรรมภายในเพื่อจัดการกับการโพสต์การประมวลผลและการตรวจสอบข้อผิดพลาดในการตรวจสอบความถูกต้องของ MIME / การเตะกลับอาจทำได้โดยไม่ต้องแก้ไขมากเกินไป
นี่คือวิกิเปรียบเทียบของฉันในกลุ่มรีวิวโมดูลที่คล้ายกัน 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 หรือวิธีการอื่น ๆ
อีกรูปสำหรับรูปภาพที่ไม่ได้รับการสนับสนุนที่ดีมาก แต่ใช้งานได้คือรองรับ Zip ImageField
หากคุณสามารถใส่ไฟล์เหล่านี้ลงในไฟล์ zip และคุณต้องการ / จำเป็นต้องใช้โมดูลอัปโหลดหลักคุณสามารถลองใช้หลาย ๆ ไฟล์อัปโหลดเดียว (Drupal 6.x)
อัปโหลด HTML5 http://drupal.org/sandbox/z7/1348240
โมดูลนี้ควรได้รับการยกย่องว่าเป็นโซลูชั่นที่มีความคล่องตัวสำหรับการอัปโหลดภาพ (และไฟล์อื่น ๆ ) สำหรับ Drupal 7 ในเบราว์เซอร์สมัยใหม่ (รองรับ HTML5) ที่ทันสมัยไม่มีอะไรเพิ่มเติม
ยังไม่ลอง แต่รหัสจะชัดเจนและกะทัดรัด