Lorsqu'il propose le téléchargement de fichiers photo, l'utilisateur aura généralement des fichiers JPEG extrêmement compressés et volumineux (plus de 10 mégapixels) à partir de son appareil photo ou de son téléphone. Du côté du serveur, ces fichiers seront recompressés à quelque chose comme 800x600px et qualité JPEG 7 ou 8.
Est-il (déjà) possible de faire cette recompression côté client? Je n'aurais donc besoin que de transmettre environ 100 Ko (800 x 600 pixels) et pas 3 Mo ou plus. Quelque chose comme:
(1) Avec la nouvelle API FileSystem de javascript ( http://slides.html5rocks.com/#filewriter ), il serait possible de lire les données du fichier photo dans JS côté client.
(2) Ensuite, il serait nécessaire de ré-encoder les données JPEG, ce qui est possible, mais je ne peux trouver aucune bibliothèque pour le moment. Quelqu'un connaît une telle bibliothèque?
(3) La dernière étape consisterait à POST les données JPEG recompressées côté serveur en vue de leur stockage et en récupérant une URL du fichier photo stocké à partir du serveur pour inclusion dans le code HTML du client.
Je cherche un plugin jQuery, une autre bibliothèque JS ou un exemple de page Web qui le fait.
Plupload supporte le redimensionnement html5 des images, puis les télécharge. Il présente également des solutions de repli pour les navigateurs non pris en charge (IE tousser ) en Flash. , Silverlight (et des éléments obsolètes tels que Google Gears et BrowserPlus).
Regardez cette démo: http://makeitsolutions.com/labs/jic
C'est une bibliothèque javascript créée par moi qui résout ce problème.
Il vous permet de compresser jpg et png côté client à 100% avec javascript et aucune bibliothèque externe n'est requise!
Vous pouvez charger l'image sur un élément de la toile, la redimensionner, puis récupérer l'image pour la télécharger.