เมื่อเสนอการอัปโหลดไฟล์ภาพถ่ายโดยปกติผู้ใช้จะมีไฟล์ JPEG ที่บีบอัดและมีขนาดใหญ่มาก (10+ ล้านพิกเซล) จากกล้องหรือโทรศัพท์ ทางฝั่งเซิร์ฟเวอร์ไฟล์เหล่านี้จะถูกบีบอัดใหม่เป็นอย่างเช่น 800x600px และ JPEG คุณภาพ 7 หรือ 8
เป็นไปได้หรือไม่ที่จะทำการบีบอัดข้อมูลนั้นในฝั่งไคลเอ็นต์? ดังนั้นฉันจะต้องส่งเพียง 100kB (800x600px) และไม่ 3 MB หรือมากกว่า สิ่งที่ต้องการ:
(1) ด้วย FileSystem API ใหม่ของ javascript ( http://slides.html5rocks.com/#filewriter ) มันเป็นไปได้ที่จะอ่านข้อมูลของไฟล์ภาพถ่ายลงใน JS ฝั่งไคลเอ็นต์
(2) จากนั้นจำเป็นต้องเข้ารหัสข้อมูล JPEG อีกครั้งซึ่งเป็นไปได้ แต่ฉันไม่พบไลบรารีใด ๆ สำหรับที่ (แต่) ใครรู้จักห้องสมุดเช่นนี้?
(3) ขั้นตอนสุดท้ายคือการ POST ข้อมูล JPEG ที่ถูกบีบอัดใหม่ไปยังฝั่งเซิร์ฟเวอร์สำหรับการจัดเก็บและรับ URL ไปยังไฟล์ภาพที่เก็บไว้กลับจากเซิร์ฟเวอร์เพื่อรวมไว้ใน HTML ของลูกค้า
ฉันกำลังมองหาปลั๊กอิน jQuery, ไลบรารี JS อื่น ๆ หรือหน้าเว็บตัวอย่างที่ทำสิ่งนี้