Télécharger le fichier image: la compression côté client est-elle déjà possible?


9

Lorsque vous proposez le téléchargement de fichiers photo, l'utilisateur aura généralement des fichiers JPEG mal compressés et énormes (10+ mégapixels) à partir de ses appareils photo ou téléphones. Côté serveur, ces fichiers seront recompressés en quelque chose comme 800x600px et en qualité JPEG 7 ou 8.

Est-il (déjà) possible de refaire la compression côté client? De sorte que je n'aurais besoin que de transmettre quelque 100 Ko (800 x 600 pixels) et non 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 trouve aucune bibliothèque pour cela (pour le moment). Quelqu'un connaît une telle bibliothèque?

(3) La dernière étape serait de POSTER les données JPEG recompressées côté serveur pour le stockage et de récupérer une URL vers le fichier photo stocké depuis le serveur pour l'inclure dans le code HTML du client.

Je recherche un plugin jQuery, une autre bibliothèque JS ou une page Web d'exemple qui le fait.


Le Est - il possible d'optimiser / réduire les images avant de les télécharger? question à StackOverflow présente plusieurs solutions possibles.
danlefree

Réponses:


4

Plupload prend en charge le redimensionnement html5 des images, puis les télécharge, il a également des solutions de rechange pour les navigateurs non pris en charge ( toux IE ) dans Flash, Silverlight (et des trucs désuets comme Google Gears et BrowserPlus).



2

Découvrez 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 100% jpg et png côté client avec javascript et aucune bibliothèque externe requise!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.