2009-06-11 7 views
2

Je travaille sur une application web qui traitera de nombreux téléchargements d'images. Il est assez probable que les utilisateurs seront dans des zones avec des connexions Internet lentes et j'espère les sauver temps de téléchargement en compressant les images avant de télécharger.Est-il possible d'optimiser/réduire les images avant le téléchargement?

J'ai vu que Aurigma Image Uploader réalise cela en utilisant une applet java ou active x mais c'est cher et je préfère quelque chose d'open source ou au moins un peu moins cher. Idéalement, je voudrais rouler le mien si c'est possible.

Je développe sur Ruby on Rails si cela fait une différence ..

Merci!

Éditez simplement pour clarifier: Cela ne me dérange pas si la solution utilise activeX ou une applet (bien que js soit idéal) - Je cherche juste quelque chose d'un peu moins cher qu'Aurigma à ce stade de développement.

En outre, il peut ne pas être possible pour les utilisateurs à rétrécir l'image eux-mêmes comme dans de nombreux cas, ils seront en ligne directement depuis un cybercafé ou un autre endroit public à l'Internet.

+1

Il est possible avec HTML5 et canvas. http://stackoverflow.com/questions/13017909/using-canvas-to-resize-iphone-images-before-uploading-to-server – seangates

Répondre

2

Généralement, il n'est pas possible d'écrire un compresseur d'image en JavaScript. Pardon.

Vous aurez besoin d'utiliser un plugin quelconque, et comme vous l'avez mentionné, d'autres sites utilisent Java.

Il semble possible d'écrire quelque chose pour encoder un fichier JPEG dans ActionScript (à savoir Flash), qui atteindra un public beaucoup plus grand que le plug-in Java que vous mentionnez. Here's a link to a blog post talking about PNG & JPEG encoders in ActionScript.

Here's another blog post with a demo of an inlined JPEG encoder in ActionScript.

0

Sans utiliser les applets ou activex (uniquement dans Windows), vous ne pouvez rien exécuter sur un ordinateur client.

+0

Ce n'est pas correct. Par exemple, JavaScript est exécuté côté client, mais il est - pour de très bonnes raisons - dépourvu des autorisations d'accès et de modification des fichiers locaux. –

+0

Je faisais référence à la question sur le redimensionnement des images évidemment. – Keeper

0

Probablement pas, mais vous pouvez toujours insister sur le fait que les téléchargements d'images sur une taille x échoueront.

0

Est-ce une application dans laquelle vous pouvez les forcer à insérer une image plus petite. Dans ce cas, vous pouvez saisir la taille en premier pour vérifier qu'elle correspond aux normes. C'est ce que facebook faisait avec les photos de profil. Si c'était trop grand, ils ne le prendraient pas.

1

uniquement si vous utilisez Flash ou Silverlight (seule façon d'être multi-plateforme)

http://www.jeff.wilcox.name/2008/07/fjcore-source/ vaut peut-être lu.

+0

FJcore a l'air vraiment intéressant, mais est-il courant qu'un navigateur ait installé silverlight? - c'est un téléchargement de 4mb sinon, je commence à penser que Flash peut être le chemin à parcourir .. – jcoffey

+0

Flash a actuellement une base d'installation plus grande; mais dans mon expérience, le développement de Silverlight est radicalement plus intuitif. Si le navigateur ne dispose pas de Silverlight, vous pouvez toujours afficher le contrôle de téléchargement standard et effectuer le traitement côté serveur de traitement. – Nate

Questions connexes