APPLET : REDIMENSIONNEMENT D'UNE IMAGE AVANT UPLOAD

cs_petifa Messages postés 215 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 10 mars 2014 - 3 déc. 2008 à 09:56
cs_bobby68 Messages postés 1 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 1 mai 2013 - 1 mai 2013 à 18:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48551-applet-redimensionnement-d-une-image-avant-upload

cs_bobby68 Messages postés 1 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 1 mai 2013
1 mai 2013 à 18:14
Bonjour,
Merci beaucoup pour ce programme, il fonctionne parfaitement.
J'aimerais savoir comment je peut récupérer $name_file2, le nom du fichier image chargé, dans le fichier merci.php.
Merci encore.
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
12 août 2011 à 11:04
Un fichier JAR (ou ZIP) peut contenir des répertoires, si tu ouvres le fichier JAR, tu verra le répertoire "ImageResizer". Pour démarrer un applet, on est obligé de lui montré le fichier exécutable, d'où la ligne de commande. Le fichier JAR doit être mis au même endroit que la page HTML, sinon tu dois préciser la ligne entière "code=http://...".

Apparemment le code que j'ai déposé contient des bugs depuis une mise à jour de la plateforme Java. J'ai fait une correction pour un pote à qui j'avais fait une application dédiée. La solution la plus facile n'est pas dans mon applet mais dans l'HTML 5.
Matyouz Messages postés 28 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 27 juillet 2011
11 août 2011 à 23:57
Salut ! Je connais php, flash et javascript ... malheureusement aucune de ces technos ne permet de redimmensionner une image avant son upload sur un serveur. Mon soucis ; c'est que je ne connais vraiment rien en java. Nada ... Je vois qu'une applet est appelée depuis le fichier html :



Comment fais t'on pour obtenir ce fichier "ImageResizerHTTP.class" ? Si j'ai bien compris ce fichier une fois obtenu par je ne sais quelle manipulation (compilation) est placé dans un repertoire "ImageResizer" qui doit lui même etre créé sur le repertoire racine du site (arretez moi si je me trompe).

Quid de ce fichier "ImageResizer.jar" ? Est celui que l'on trouve dans /dist/javadoc/ ? Dois t'on simplement le copier à la racine du site ?

Bref, j'aurais bien besoin d'un petit tutoriel (si ça interesse quelqu'un !)

Merci.
xaviernuma Messages postés 14 Date d'inscription dimanche 24 septembre 2006 Statut Membre Dernière intervention 28 novembre 2011
5 oct. 2010 à 11:32
Bonjour Twinser,

C'est bien dommage que vous ne souhaitiez pas recompiler votre application... elle est fort utile... je n'ai pas trouvé d'application aussi simple a utiliser pour mon site Internet...

Malheureusement, je ne code pas en java... je ne saurais la mettre à jour... Si vous pouviez avoir envie d'y jeter œil, cela serait super.

Merci.
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
25 juin 2010 à 09:39
J'ai en effet eu le même problème que j'ai corrigé en passant de 1.5 à 1.6. Si je m'en souvient bien, j'ai mis à jours les bibliothèques apache (org.apache.commons.httpclient) et j'ai resigné mon applet (à partir du code source. Ce n'est qu'une supposition mais j'ai l'impression qu'ils ont renforcé la "sécurité" des applets en bridant un peu plus les connexion HTTP.
("Caused by: java.io.IOException: open HTTP connection").
Bref, ca se résoud sans trop de problème avec le code source et un Netbeans bien configuré. Mais comme j'ai fait cela y'a 2 ans, je n'ai pas la moindre envie de le recompilé. (Dsl).
medicair Messages postés 37 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 25 juin 2010 2
25 juin 2010 à 00:33
Effectivement, j'ai le même problème.
Mais bravo.
xaviernuma Messages postés 14 Date d'inscription dimanche 24 septembre 2006 Statut Membre Dernière intervention 28 novembre 2011
1 avril 2010 à 11:19
Bonjour,

J'utilise votre application qui fonctionne plutôt bien, mais depuis la mise à jour de Java hier (1.6.0_19), j'ai maintenant un message d'erreur, et l'application ne fonctionne plus, auriez-vous une idée ?

Java Plug-in 1.6.0_19
Utilisation de la version JRE 1.6.0_19-b04 Java HotSpot(TM) Client VM
Répertoire d'accueil de l'utilisateur = C:\Documents and Settings\xxxxxxxxxxx
----------------------------------------------------
c: effacer la fenêtre de la console
f: finaliser les objets de la file d'attente de finalisation
g: libérer la mémoire
h: afficher ce message d'aide
l: vider la liste des chargeurs de classes
m: imprimer le relevé d'utilisation de la mémoire
o: déclencher la consignation
q: masquer la console
r: recharger la configuration des politiques
s: vider les propriétés système et déploiement
t: vider la liste des threads
v: vider la pile des threads
x: effacer le cache de chargeurs de classes
0-5: fixer le niveau de traçage à <n>
----------------------------------------------------

java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/commons/httpclient/methods/multipart/PartSource
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/httpclient/methods/multipart/PartSource
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.methods.multipart.PartSource
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 14 more
Caused by: java.io.IOException: open HTTP connection failed:http://monsite/org/apache/commons/httpclient/methods/multipart/PartSource.class
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 17 more
Exception : java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/commons/httpclient/methods/multipart/PartSource

(la plateforme Java sur laquelle le programme fonctionnait bien était la : 1.6.0_13)

Merci.

Cordialement.
cs_jpbond Messages postés 9 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 8 mars 2010
8 mars 2010 à 15:24
salut à tous,
j'ai quelques petites questions finales sur ce code super pratique :
- je n'arrive pas à faire que la variable outputWidth s'applique (dans mon exemple 700 px mais la photo reste en 1024)
- lorsque je lui demande d'aller à la page merci.php, cette page ne recoit aucune données en post

merci de votre aide...

voila mon code pour la page upload.php, qui charge l'anim :

<HTML>
<HEAD>
<TITLE>Applet HTML Page</TITLE>
</HEAD>

<HR WIDTH="100%">Image Resizer<HR WIDTH="100%">

<!--
Le choix de l'utilisateur sera renvoyé dans la variable $subdirectory
et variables $txt pour les commentaires.
Seul la variable "postPage" doit etre renseignée pour que l'applet fonctionne.
Liste des parametres "facultatifs" :
attention il faudra creer les subdirectories !
pour afficher un message de succes par exemple

en Ko
en pixels
pour pouvoir uploader jusqu'a 200 images d'un coup

-->

</HTML>
clconsultants Messages postés 9 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 3 décembre 2009
3 déc. 2009 à 19:24
ce fut pénible mais on a trouvé le trouble en linux/firefox:
il faut simplement créer un lien en root comme suit:

ln -fs /usr/java/jre1.6.0_17/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/libjavaplugin.so
clconsultants Messages postés 9 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 3 décembre 2009
3 déc. 2009 à 18:15
petite idée comme ca...

nous le savons tous, nous les dévelopeurs, que les gens qui utilisent nos applications sont des innocents qui cliquent n'importe où et se demandent comment ça se fait que ça marche pas....

mon idée étant la suivante: quand on fait "ajouter", et que l'applet est en train de loader les images, désactiver l'interface... ou engrisé pour l'empêcher d'effectuer une autre opération... même chose lorsque l'on clique sur envoyer, immédiatement désactiver les boutons jusqu'à la fin...

merci twin tu es génial haha
clconsultants Messages postés 9 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 3 décembre 2009
3 déc. 2009 à 17:03
oui oui merci je suis au courant je faisais simplement le signifier a twinser :P

en java je suis complètement nul :P mais pour le reste j'ai pas de problème :P
El_Titof Messages postés 17 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 19 mai 2012
3 déc. 2009 à 16:57
la variable $subdirectory faut la gérer comme cela.

$subdirectory = $_POST['subdirectory'];

et cela fonctionnera...
clconsultants Messages postés 9 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 3 décembre 2009
3 déc. 2009 à 16:44
yééé ca marche! mais en windoze.... il y a un petit hic, la variable $subdirectory n'est pas prise en compte si register_global est a off mais sinon, c'est génial!

comment on désactive la case de commentaires?
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
3 déc. 2009 à 13:45
[El_TITOF] : Ah oui! Il faut mettre l'adresse en entier car la bibliothèque fournit par apache reconnait ainsi le protocole à utiliser.

Pour la barre qui freeze à 50%, cela ne veut pas dire qu'il a fonctionné. Activer la console pour voir l'état réel et les erreurs. (Par exemple l'absence de l' "http" est tout de suite notifié.
Pour activer votre console Java sous windows, cela se trouve dans le panneau de config, puis cliquer sur l'icone Java.(c'est bien caché).
Si votre console Java n'est pas activée, n'espérez pas débugger l'applet !

Update du code compilé: ce week end je devrai avoir du temps.
El_Titof Messages postés 17 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 19 mai 2012
3 déc. 2009 à 09:21
Salut,

j'ai mis un moment à trouver mais il faut mettre l'adresse absolu du lien de traitement des images pour que cela aboutisse.
http://www.tonsiteweb.com/tondossier/tonsousdossier/fichier_de_traitement.php
et pareil en local http://localhost/....

Bon courage
clconsultants Messages postés 9 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 3 décembre 2009
3 déc. 2009 à 00:33
bonjour à tous,

twinser! ton gui est génial! mais ça marche toujours pas pour moi! j'ai installé jakarta et dans mon error_log d'apache, il me dit "File does not exist: /__documentroot__/javaresize/org"... pourtant... et l'applet démarre pas.

Pourtant si j'y fais avec file:///mondossier/javaresize/index.html l'applet démarre mais l'upload gèle a 50%...

arf

merci
El_Titof Messages postés 17 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 19 mai 2012
18 nov. 2009 à 12:06
[Commentaire de twinser le 26/10/2009 19:12:16]

Bon, tout cela , c'est de ma faute...je le recompile. Mais sachez que vous avez le droit d'apporter vos correctifs au code source !
[Fin Commentaire]

Salut,

est ce que tu as une idée de date pour la mise en ligne de la version recompilé??
patxyz78 Messages postés 4 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 26 octobre 2009
26 oct. 2009 à 22:06
c'est la rançon du succes, ton applet c'est le top !!!
bon boulot, je t'ai mis le max d'étoile tu le mérite.
Pat
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
26 oct. 2009 à 19:12
Bon, tout cela , c'est de ma faute...je le recompile. Mais sachez que vous avez le droit d'apporter vos correctifs au code source !
nothekiller Messages postés 4 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 22 octobre 2009
22 oct. 2009 à 00:25
Salut Twinser ( et aux autres ),

Je viens de tester ton applet, il parait vraiment bien et repond a ce que je cherchais, cependant j'ai un problème a chaque transfert.

La redirection se passe bien mais le problème est que les sous repertoires ne sont pas pris en compte, je pense que cela vient d'ici : http://localhost/javafr_APPLET-REDIMENSIONNEMENT/merci.php?image[]=photo291.jpg&subdirectory[]=SOUSREP1image[]=photo291.jpg

Il n'y a pas de separation avec un & comme la normal donc je viens vous demander une solution :) .

Je tiens toutefois a preciser que le transfert se fait tout de meme mais dans le dossier galerie...

Voila Merci d'avance a ceux qui veulent bien m'aider.
El_Titof Messages postés 17 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 19 mai 2012
21 oct. 2009 à 10:17
Salut Twinser,

Je fais des test en local et la restriction de 3 images fonctionnes bien mais quand j'ajoute la ligne :

et je place value à 10, cela n'est pas pris en charge!!!
ainsi que la taille de redirection ne sont pas pris en compte.

est ce que je peux modifier le nom du répertoire par défaut qui est galerie et mettre autre chose?

Cordialement,

Christophe
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
13 oct. 2009 à 19:59
Oui, je l'ai développée sous Linux, donc elle fonctionne sous Linux. Je t'avoue que ca fait un moment que je n'ai pas tournée au tour...
File moi ton adresse email par message prive pour que je donne la dernière version.
patxyz78 Messages postés 4 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 26 octobre 2009
13 oct. 2009 à 18:45
quelqu'un a utilisé cette applet sous linux ?
pour savoir si normalement elle fonctionne sous linux ?
Merçi
yol41 Messages postés 1 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 9 septembre 2009
9 sept. 2009 à 12:20
Bonjour,
Je suis débutant Java et probablement neuneu puisque je n'arrive pas a instancier l'applet sur mon site.
A l'ouverture de la page html qui instancie la classe ImageResizerHTTP, on voit bien la console Java s'ouvrir mais rien ne démarre. J'ai l'impression que la console java ne sais pas ou cherche le .jar qui va bien...
Pourtant j'ai copié sur le serveur les 4 fichiers .jar fournis dans le meme dossier que mes deux pages html et php.
Qu'est ce que j'ai raté ? Les forums sur le web ne sont pas très clairs sur l'endroit ou l'on doit placer les applets coté serveur...
Help, I need somebody help.
polycoda Messages postés 5 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 23 juillet 2009
23 juil. 2009 à 16:28
Moi en tout cas, je serais premier à être hyper intéressé ;-)
Je t'envoie un message perso Twinser.
C'est super, je suis très content et ambitieux de voir cette version allégée!
proffial Messages postés 35 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 23 juillet 2009
23 juil. 2009 à 11:20
Hello, si tu fais un truc light avec uniquement un bouton parcourir, envoyer et la barre de progression.

Si le parcourir permet aussi la selection multiple d'images et donc tu peux faire du multiupload.

Je pense que l'on serait pas mal de personnes hyper interessées.
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
22 juil. 2009 à 22:53
Bon, ok. Je te mets un bouton Parcourir, envoyer et la barre de progression.
Envoi moi un message perso pour je puisse d'emailer tout ca. Je t'annonce que ce nouveau projet s'appellera ImageResizerLight. Mais il ne sera en rien plus rapide à charger ou moins lourd à télécharger. Il aura juste moins de fonction.
polycoda Messages postés 5 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 23 juillet 2009
22 juil. 2009 à 21:39
Bonjour, merci pour ta réponse, cependant, mon but est justement de NE PAS redimensionner coté serveur. J'ai fonctionné avec le redimensionnement coté serveur pendant plusieurs années et maintenant, avec les caméras 10-12 megapixels, les photos pèsent 2-3 mégaoctets chacune et tu comprendras que beaucoup de gens ne savent pas comment compresser ou redimensionner leurs images avec PAINT ou autre logiciel.

La bande passante et le temps de chargement en souffrent, MAIS mon problème est beaucoup plus grave que le temps de chargement, mon hébergeur ne me laisse pas configurer mon PHP.INI et la taille maximale que ma librairie GD peut gérer chez mon hébergeur pour une image est: 1700x1200, ce qui, en 2009, ne convient plus du tout. Plusieurs de mes utilisateurs se sont essayés avec des images allant jusqu'à 3200x2400 (sans compter que l'image pèse 3MB)

Merci pour ton aide. Je me demande si ce serait difficile de modifier tes sources pour en faire une version plus transparente, c'est à dire, moins de boutons et d'éléments d'interface, pas de boite de commentaire, pas de bouton ajouter/supprimer, pas d'apercu, tu sais, seulement un bouton PARCOURIR et une barre de progression.
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
22 juil. 2009 à 19:51
Une version allégée ? Ben, il faut la fabriquer, sur internet je sais qu'il existe d'autre version en applet, où il faut faire un glisser déposer les photos. (Mon applet fonctionne aussi en glisser déposer, mais je sais que personne ne l'a remarqué ;-)) Coté applet, il existe aussi celui de facebook, il parait que les API sont publics mais je ne les ai pas trouvés.
Sinon microsoft a aussi développé un logiciel similaire en aspx, beaucoup plus rapide que en applet. Je suppose qu'il faut aligner les billets, mais ceci dit je l'ai vu sur d'autre site que ceux de MS.
Mais des pistes sérieuses sont à évoquer en Javascript, des API répondaient partiellement à mon problème mais les plus "pro" étaient payantes. Si ça tente quelqu'un de développé une API javascript. Je pense qu'il fera plaisir à certain.

Pour répondre à la question : si il n'y a qu'une seule image. Redimensionne côté serveur ! Là, je suis pas top motivé à remettre les mains dedans. Où alors, installe Netbeans et lance toi dans la grande aventure du Java...
polycoda Messages postés 5 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 23 juillet 2009
21 juil. 2009 à 23:50
Superbe, merci BEAUCOUP Twinser, ca fonctionne, c'était donc à cause que je croyais qu'il me manquait le fichier ".class" mais finalement, il est bien là dans le ".jar" alors j'ai seulement qu'à donner mon chemin vers mon répertoire ou se trouve le "ImageResizerHTTP.jar" pour le paramètre "archive" et laisser le paramètre de l'applet "code" comme il était. Voila, ca fonctionne parfaitement. Ce que j'apprécie vraiment beaucoup de cet applet, c'est son redimensionnement coté client suivi de l'envoi qui se fait automatiquement, tu n'as pas idée combien de maux de tête cet applet va épargner à mes utilisateurs nuls en informatique qui ne savent pas redimensionner leurs photos 10 megapixels!

QUESTION RAPIDE: Est-ce que tu sais s'il existe une version allégée sans commentaire, sans apercu, sans ajouter/supprimer, dans le but d'intégrer cet applet de la facon la plus transparente possible au lieu de mon champs INPUT de type FILE que j'ai présentement.
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
21 juil. 2009 à 21:34
ah ok !! Le fichier ImageResizerHTTP.class se trouve dans le Jar. Ouvre le ! et tu vas vite comprendre (avec winzip ou équivalent)! Le fichier ImageResizer.class se trouve dans un "répertoire" (ou package en Java) appelé ImageResizer. Tu ne peux pas le changé. Si tu veux déporter les jar dans un autre répertoire que celui de la racine du fichier html, je suppose qu'il faut préciser le classpath... Google un peu pour trouver la syntaxe précise ! Je crois que c'est "archive=" !
polycoda Messages postés 5 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 23 juillet 2009
20 juil. 2009 à 23:10
OK, je savais pas qu'un nom de répertoire comme "java/" pouvait faire planter une application Java. J'ai tout déplacé dans "j/" et maintenant mon erreur est charger : classe j/ImageResizerHTTP.class introuvable.

Est-ce que je dois compiler quelque chose parce que j'ai aucun fichier ".class" dans le .zip que tu fournis sur ton site. Comment je dois procéder pour faire fonctionner cette application maintenant selon toi?
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
20 juil. 2009 à 22:54
Je ne comprend pas trop ton problème, il me faudrait plus d'indices. Ce que je crois comprendre. Tu appels l'applet qui se trouve dans le répertoire "java". Or ce nom est interdit car il sert déjà dans le langage natif. Mon package s'appelle "ImageResizer". Dsl, je pense que l'erreur se trouve dans ta page html :
Bon courage pour le débugage
polycoda Messages postés 5 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 23 juillet 2009
20 juil. 2009 à 20:49
Je suis complètement nul en Java, quand j'essaie ce script, ca me donne une erreur dans la console qui dit:

java.lang.SecurityException: Prohibited package name: java.ImageResizer
at java.lang.ClassLoader.preDefineClass(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Que dois-je faire pour faire fonctionner ce script?
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
5 juin 2009 à 18:18
Je complète la réponse de GastOOn: pour paramétrer le nom de fichier.
Passe en paramètre à l'applet la variable "id". Celle ci sera copier sur la page de poste. ($id pour la récupérer)
Voila, une fois sur ta page de post, c'est du php...
Pour ce qui est des données EXIF, oui, c'est possible, mais j'ai la flemme de mettre les mains la dedans. (si tu sais faire du Java, c'est ligne 606 dans ImageResizerHTTP ( et oui il existe aussi ImageResizerFTP!)).
Gast00n Messages postés 6 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 5 juin 2009
5 juin 2009 à 09:04
Pour modifier la limite (par défaut de 3 images), ajoutes le param :
proffial Messages postés 35 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 23 juillet 2009
4 juin 2009 à 17:15
Bravo, super bon boulot.

Après pour mon besoin perso pour que ce soit le truc de rève ca serait cool si:
- lors de la compression on ne perde pas les données EXIF des images (notament date et heure)
- qu'on puisse avoir un champ titre paramétré avec le nom du fichier par default

Mais bon, je m'en passerai ;-)

Sinon, savez vous comment on retire la limite de 3 images ?

encore merci
proffial Messages postés 35 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 23 juillet 2009
4 juin 2009 à 17:13
Bravo, super bon boulot.

Après pour mon besoin perso pour que ce soit le truc de rève ca serait cool si:
- lors de la compression on ne perde pas les données EXIF des images (notament date et heure)
- qu'on puisse avoir un champ titre paramétré avec le nom du fichier par default

Mais bon, je m'en passerai ;-)

Sinon, savez vous comment on retire la limite de 3 images ?

encore merci
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
21 avril 2009 à 19:21
Parce que c'est codé ! Bon ok, je n'ai peut être pas mis la doc dans le zip.
Copier coller de la doc :
Envoi les données sur une page par méthode POST. Les données envoyées sont les suivantes :
# file Le fichier image
Récupérable en PHP par : $_FILES['file']
# txt Les commentaires associés a la photo
# subdirectory Le répertoire de destination
# index Numéro de l'image (à partir de 1)
# idReporte directement l'id donné en entrée.
Le texte est directement récupéré en variable par $txt et $subdirectory

Si une page de redirection est définit en paramètre. Celle-ci recevra en paramètre deux tableaux :
# image avec le nom des images formatés MIME (espace = +, ...), décodable par la fonction PHP urldecode()
La longueur du tableau est le nombre d'image.
$image[0] renvoi le nom du premier fichier
count($image) retourne la taille du tableau
Toutes ces images ont comme SUFFIX jpg

Donc la réponse à ton problème est urldecode(). Car on ne peut pas mettre des caractères spéciaux en post. Les espaces fonctionnent mais pas les accents.

# subdirectory Liste des répertoires choisit par l'utilisateur.
Il y a une correspondance entre les indices de image et subdirectory.
patxyz78 Messages postés 4 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 26 octobre 2009
21 avril 2009 à 00:10
ok t'as raison, c'est juste dans la console on s'en fout,
en tous cas un Grand MERCI ton applet est géniale.
et ça marche nickel !
il me reste juste a trouver pourquoi je recuppere des +
a la place des espaces dans les commentaires.
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
11 avril 2009 à 15:10
J'avoue... je ne sais pas trop, il faudrait que je regarde le code source. D'autant plus que je ne sais pas quel version est dispo sur le serveur.
Si c'est seulement une erreur dans la console au démarrage, on s'en fout. Si il n'arrive pas à envoyer les images...la je jette un coup d'oeil.
patxyz78 Messages postés 4 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 26 octobre 2009
10 avril 2009 à 12:34
bonjour,
ça marche presque !
si vous pouvez m'aider je comprend pas pourquoi
j'ai ces erreurs
Undefined variable: subdirectory
Undefined variable: txt
Merçi
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
2 mars 2009 à 19:19
Pour le bug : je ne savais pas que les champs devaient être renseigné. Je vais arrangé ca. Sinon, mets id = " " dans les paramètre de l'applet.
En effet, l'applet n'a quasi-aucune relation avec la page web. Le fichier javaUpload.php doit être accessible de l'applet et c'est lui qui doit vérifier la sécurité lors de la copie des fichiers, c'est à lui de regarder les paramètres sessions, cookies, ..
Gast00n Messages postés 6 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 5 juin 2009
2 mars 2009 à 15:27
J'ai une autre question, qui ne concerne pas directement l'applet, mais son utilisation, et qui pourrait servir à d'autres :

Je voudrais utiliser cette applet dans l'interface d'administration d'un petit site que je suis en train de créer. Le problème est que cette interface est protégée par une authentification http, et que du coup, l'applet ne semble pas bénéficier de l'authentification de mon navigateur, et ne peut donc uploader les images sélectionnées.

Comment serait-il possible d'autoriser à l'applet l'acces à ce répertoire d'administration?

Voici la sortie de la console java :

Page de post : http://www.monsite.com/admin/javaUpload.php
Pas de changement de compression : 0.85
02-mars-2009 15:15:22 org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme
INFO: basic authentication scheme selected
02-mars-2009 15:15:22 org.apache.commons.httpclient.HttpMethodDirector processWWWAuthChallenge
INFO: No credentials available for BASIC 'Administration'@www.monsite.com:80
Reponse du serveur :
!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
html><head>
title>401 Authorization Required</title>
/head>
h1>Authorization Required</h1>
p>This server could not verify that you
re authorized to access the document
equested. Either you supplied the wrong
redentials (e.g., bad password), or your
rowser doesn't understand how to supply
he credentials required.

hr>
address>Apache/2.2.3 (Debian) PHP/5.2.0-8+etch11 mod_ssl/2.2.3 OpenSSL/0.9.8c mod_perl/2.0.2 Perl/v5.8.8 Server at www.monsite.com Port 80
/body></html>

Merci pour toute idée de réponse...
Gast00n Messages postés 6 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 5 juin 2009
2 mars 2009 à 14:15
Bonjour,

la version de janvier fonctionnait sans problème, la dernière pose problème, en remplaçant juste ImageResizer.jar, comme indique par Twinser, ou même en remplaçant tous les fichiers 'dist' :

la barre de progression m'indique "Redimensionnement..." jusqu'à 100% (Dans la version fonctionnelle, cela se changeait en "Transfert en cours..." en cours de progression), puis à l'air de bloquer à 100%. Aucune transfert, et aucune redirection n'a l'air de se produire

Ma console java m'indique alors :

Fichier IMAGE_TEST ajouté
Emplacement Applet : http://serveur/test/admin2/
Page de post : http://serveur/test/admin2/javaUpload.php
Pas de changement de compression : 0.85
Exception in thread "Thread-19" java.lang.IllegalArgumentException: Value may not be null
at org.apache.commons.httpclient.methods.multipart.StringPart.(StringPart.java:87)
at org.apache.commons.httpclient.methods.multipart.StringPart.(StringPart.java:103)
at ImageResizer.ImageResizerHTTP.sendAFile(ImageResizerHTTP.java:620)
at ImageResizer.ImageResizerHTTP.access$1400(ImageResizerHTTP.java:101)
at ImageResizer.ImageResizerHTTP$12.run(ImageResizerHTTP.java:519)
BenSmash Messages postés 3 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 13 février 2009
13 févr. 2009 à 09:52
Ch'est bicharre tout cha!
A mon sens le seul testicule que je voie, c'est le fait que tu ne puisses pas récupérer la variable subdirectory... Normalement on devrait faire

/">
mais si ça ne marche pas chez toi...
est-ce que tu as modifié l'applet?
vérifie que tu n'aies pas fait de faute de frappe. Bête, je sais (mais moi ça m'arrive souvent;))
Et si tu as une BDD tu peux éventuellement vérifier les paramètres qui arrivent effectivement en POST dans envoi.php.
$trace = '';
foreach($_POST as $key => $value)$trace .$key.'> '.$value.'
';
et un petit enregistrement de $trace.
J'espère que je réponds au bon problème!

Bonne chance avec la soupe,

Ben
Jiho64 Messages postés 7 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 24 novembre 2011
13 févr. 2009 à 05:10
J'ai résolu mon problème, et crée un autre.. petit.

L'applet marche très bien, elle redimensionne et envoi. Ce qui est très cool.

Sauf que l'image est enregistré dans le dossier ou se trouve ma page envoi.php, le paramètre subdirectory ne servant pas, sinon à faire apparaitre sa valeur dans l'applet..
J'utilise l'applet dans une interface admin ou je gère plusieurs galerie, chacune étant définie par une variable $_GET['numgal'] qui prend sa valeur quand je choisi la galerie à modifier (avec un href (http://blabla/addgaleries.php?numgal=galerie9 par exemple) qui me redirige donc vers la page ou se trouve l'applet).

Je peux crée un fichier envoi.php dans chacun de mes dossiers galerie, à leur création, et transmettre son emplacement comme ca :
/envoi.php"

Ca règle mon problème mais c'est plutot de la bidouille. C'est l'applet qui fonctionne comme ça, ou y'a un testicule dans la soupe ?

Jiho
cs_quentin123 Messages postés 7 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 12 février 2009
12 févr. 2009 à 20:17
Twinser, ce serait pas mal que tu partages ton paypal pour que les heureux utilisateurs comme moi puisse te soutenir de partager ce genre de code :-)
(je ne sais pas dans quelle mesure c'est possible d'ajouter un bouton "donate paypal" sur ce forum?)
cs_quentin123 Messages postés 7 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 12 février 2009
12 févr. 2009 à 20:11
La page envois.php sert à poster les fichier images sur ton serveur. utilise le code mis dans l'exemple de Twinser plus haut.
Lorsque les fichiers ont été correctement posté, l'applet redirige vers la page merci.php. Tu peux mettre ce que tu veux dedans ;-)

(Moi je ne faisais que passer, si je peux aider j'en profite puisqu'en ce moment je passe pas mal sur cette page ! mais je ne prend pas la main ;-)
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
12 févr. 2009 à 19:56
Un grand merci à Quentin123 qui a tout compris au fonctionnement de l'applet. Bon écoute je te passe la main pour répondre aux questions ! -;)
Jiho64 Messages postés 7 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 24 novembre 2011
12 févr. 2009 à 18:38
J'ai mis l'url complète dans les chemins..

J'avais déjà remplacé la ligne : $name_file2 = './galerie/'.$subdirectory.'/'.$name_file.'' ;
par : $name_file2 = $subdirectory.'/'.$name_file ;

J'ai aussi renomé mon fichier merci.php par envoi.php et modifié dans ma balise applet, celui ci contient l'exemple php donné plus haut.

Mais quel est le contenu de la page merci.php ? ()

Jiho
cs_quentin123 Messages postés 7 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 12 février 2009
12 févr. 2009 à 18:20
1. Il faut obligatoirement mettre l'url complète pour le paramètre "page de post" et "redirection", par exemple "http://admin.boeufquirit.fr/envoi.php"
2. Tu as configuré ta page de post comme "merci.php". N'est pas plutôt "envoi.php" ?

J'espère que ca t'aide.
Jiho64 Messages postés 7 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 24 novembre 2011
12 févr. 2009 à 17:11
Quand j'utilise l'applet y'a pas d'erreur signalé, en ouvrant la console j'ai ça :

outputSize 1024
maxOutputWeight 800
compressionQuality 0.85
Fichier 044053a2d90729b9 ajouté
Emplacement Applet : http://admin.boeufquirit.fr/
Page de post : merci.php
Compression changé à 0.85, taille : 74Ko.
Exception in thread "Thread-14" java.lang.IllegalArgumentException: host parameter is null
at org.apache.commons.httpclient.HttpConnection.(HttpConnection.java:206)
at org.apache.commons.httpclient.HttpConnection.(HttpConnection.java:155)
at org.apache.commons.httpclient.SimpleHttpConnectionManager.getConnectionWithTimeout(SimpleHttpConnectionManager.java:175)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:153)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at ImageResizer.ImageResizerHTTP.sendAFile(ImageResizerHTTP.java:522)
at ImageResizer.ImageResizerHTTP.access$1300(ImageResizerHTTP.java:92)
at ImageResizer.ImageResizerHTTP$10.run(ImageResizerHTTP.java:433)

Jiho
cs_quentin123 Messages postés 7 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 12 février 2009
12 févr. 2009 à 11:16
Twinser, THANK YOU!!!!!

Maintenant ça fonctionne parfaitement.
Pour ceux qui voudrait récupérer les images postées avec en ASP, voici le code que j'ai utilisé:

For Each z_ELEMENT in oFileUp.Form
Response.write(">>>Variable (" & z_ELEMENT & ") = ") 'Nom de la variable: file, txt, subdirectory
Response.write(oFileUp.Form(z_ELEMENT)) & "
" 'Valeur de la variable
Next
cs_quentin123 Messages postés 7 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 12 février 2009
12 févr. 2009 à 10:12
Jiho64, peux-tu joindre le message d'erreur reporté par la console java?
Jiho64 Messages postés 7 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 24 novembre 2011
12 févr. 2009 à 00:57
Salut !

J'arrive à lancer l'applet sur mon site mais elle se bloque à "redirection", quelqu'un saurait me dire pourquoi ? Mon $subdirectory est une url complete (j'ai testé en relatif ça fait la meme chose) et mon dossier est chmodé en 0777..
cs_quentin123 Messages postés 7 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 12 février 2009
11 févr. 2009 à 22:42
Merci Twinser, ca fonctionne avec la version 1.6!

Est ce que c'est possible de récupérer les fichiers postés dans un page ASP plutot que PHP?
J'ai essayé avec les variables post: FILE, TXT, et subdirectory - mais sans succés....
Voici le code que j'ai utilisé:

For Each subdirectory in Request.Form
Response.write(subdirectory & " = ")
Response.write(Request.Form("subdirectory[]")) & "
"
Next

Malheureusement aucune valeur n'est trouvée.

Si quelqu'un peut m'aider a récupérer les informations en asp !! merci beacoup. Quentin
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
11 févr. 2009 à 21:01
Pour l'erreur :
Exception in thread "Thread-89" java.lang.NoSuchMethodError: java.lang.String.isEmpty()
Je propose de mettre à jour la version de Java : Cette méthode a été implanté à la 1.6 :
http://java.sun.com/javase/6/docs/api/java/lang/String.html#isEmpty()
Désolé, il faut remplacer les fonctions et recompiler pour mettre la version en mode 1.5. Chose que je ferai peut être si je le recompile.
BenSmash Messages postés 3 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 13 février 2009
11 févr. 2009 à 14:08
Salut,

Tout fonctionne parfaitement merci pour cet applet vraiment merveilleux!!
"Incompatible Magic Number", vient certainement d'un format d'image non reconnu par ton Applet. En effet, il me semble que le "Magic Number" est un identificateur de format situé au tout début d'un fichier image, c'est en tous cas le cas pour les format PPM et PGM.
Voilà, je viens de trouver ça:
http://en.wikipedia.org/wiki/Magic_number_(programming)#Magic_numbers_in_files
Ca peut peut-être t'aider pour ton précédent problème temporaire!

Encore merci,

Ben
cs_quentin123 Messages postés 7 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 12 février 2009
11 févr. 2009 à 11:43
Bonjour,
Merci beaucoup pour cette applet qui correspond exactement a ce dont j'aurais besoin pour poster mes photos sur mon blog perso lorsque je suis en vacances !

Malheureusement je n'arrive pas à le faire fonctionner correctement. Voici le message d'erreur que j'obtiens:

Fichier 000000 ajouté
Emplacement Applet : http://localhost/home/resize/
Exception in thread "Thread-89" java.lang.NoSuchMethodError: java.lang.String.isEmpty()Z
at ImageResizer.ImageResizerHTTP$10.run(ImageResizerHTTP.java:414)

J'ai exactement la même erreur lorsque j'essaie d'exécuter l'applet sur les liens postés plus haut sur ce forum....

J'aurais besoin de votre aider pour terminer :-||
Merci beaucoup
djnikao2 Messages postés 1 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 28 janvier 2009
28 janv. 2009 à 11:56
Tout d'abord un GRAND MERCI, pour cette source qui m'enlève une épine du pied.

J'ai réussi à la faire fonctionner sans problème, en local sur ma machine.
Par contre, chez mon hébergeur ça se complique.
L'upload ne fonctionne pas et la console me renvoie le code suivant :

outputSize 1024
maxOutputWeight 800
compressionQuality 0.85
Fichier Coucher de soleil ajouté
Emplacement Applet : http://www.belle-de-jour.fr/new/upload/
Page de post : http://www.belle-de-jour.fr/new/upload/upload.php
Compression changé à 0.85, taille : 70Ko.
Exception in thread "Thread-74" java.security.AccessControlException: access denied (java.net.SocketPermission 194.150.236.81:80 connect,resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at ImageResizer.ImageResizerHTTP.sendAFile(ImageResizerHTTP.java:522)
at ImageResizer.ImageResizerHTTP.access$1300(ImageResizerHTTP.java:92)
at ImageResizer.ImageResizerHTTP$10.run(ImageResizerHTTP.java:433)

J'en conclu à un problème de droit, au niveau java... mais je ne sais pas où chercher :(
J'ai un module en php, installé au même endroit, qui ne me pose pas de problème pour l'upload.

Please Help :)
Gast00n Messages postés 6 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 5 juin 2009
27 janv. 2009 à 11:36
Franchement, un milliards de mercis!!! L'applet est vraiment nickel comme ça :P
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
24 janv. 2009 à 16:39
Ca y est ! Drag n Drop implémenté et non sans peine parce que la méthode du tuto de Sun ne fonctionne que sous Windows ! :: ca m'a pris 2h au lieu de 30 min.
La fonction est testée sous firefox/gnome/ubuntu et sous WinXP/IE. Reste à faire le couple OSX/safari.
Gast00n Messages postés 6 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 5 juin 2009
23 janv. 2009 à 15:26
Excellentissime!!!!!
Un grand merci pour votre réponse qui m'a permis de résoudre mon problème.

Entre temps, j'avais trouvé une autre applet du genre, mais qui était excessivement lente lors du resize, au point d'en perdre son intérêt... Mais une bonne idée qui y était intégrée est le drag-and-drop des photos depuis un explorateur. Serait-ce possible de l'implémenter dans votre applet?
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
23 janv. 2009 à 12:20
En effet, j'ai regardé le code source et il ne post pas sur la page merci.php mais sur index.php.
Il faut donc écrire :

Le seul paramètre a renseigner obligatoirement est "postPage". Cette page ne traite qu'une seule image à la fois. Dans cette page, il faudra aussi peut être mettre une base de donnée à jour. Cette page n'est pas "visible". Elle sera renvoyée dans la console uniquement.

Si tu n'as pas de base de donnée. La page de redirection "merci.php" est alors utile puisque l'applet te donne en paramètre les différentes images uploadées.
Gast00n Messages postés 6 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 5 juin 2009
22 janv. 2009 à 13:18
Bonjour,

j'ai aussi un souci d'envoi des photos, un peu comme clconsultant. L'applet se lance bien, mais après l'envoi, dans merci.php, un <? print_r ($_FILES); ?> me montre que $_FILES est vide, contrairement à lorsque des fichiers sont uploadés via un formulaire html. (et ce avec firefox, exporer restant sur l'applet 'freezée'.)
http://www.group-graphic.be/test/

Autre chose, visiblement, vu votre script le nom de champ d'un fichier unique serait 'file'...
( Ex : $tmp_file = $_FILES['file']['tmp_name']; )
Comment puis-je savoir les noms des champs lors d'envois de fichiers multiples?
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
19 janv. 2009 à 20:37
J'ai essayé. L'applet ne démarre même pas. Voici la console :

java.lang.NoClassDefFoundError: org/apache/commons/httpclient/methods/multipart/PartSource
at java.lang.Class.getDeclaredConstructors0(Native Method)
Il semble qu'il manque le fichier "httpclient.jar", ou qu'il ne soit pas mentionné dans le manifest.inf
Curieux que la console ne s'affiche pas. Je suis sous Ubuntu/Firefox, et avec un clique droit sur l'applet planté, il me propose "Ouvrir la console".
Sans console, ca va être dur a débugger. Essayez la version du code mis à jour, on ne sait jamais.
clconsultants Messages postés 9 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 3 décembre 2009
19 janv. 2009 à 16:57
Je dois pas être dû pour utiliser java ça veut rien savoir... :(

j'ai téléchargé la dernière version( 19 jan 09). l'applet se charge bien, je sélectionne mes images, je fais envoyer. il me dit "redimensionnement" et s'arrête à mi-chemin. puis, plus rien... ça gèle là...

la console java ne s'affiche pas non plus (mandriva 2009) j'ai coché afficher la console.... je devrais prendre des vacances?

si vous voulez essayer: http://www.cl-consultants.com/resize
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
15 janv. 2009 à 13:28
Pour ricotobbs : En effet, la gestion des caractères spéciaux dans les commentaires ne passait pas à cause de la norme HTTP. J'ai également modifié cela de mon côté.

Pour BenSmash : Lors d'un construction d'un jar "Applet", NetBeans oublis de spécifier les librairies. Celle-ci sont contenues dans (racine du JAR)/META-INF/MANIFEST.INF
Il faut ensuite modifier ce fichier et y ajouter :
Class-Path: codec.jar httpclient.jar logging.jar
Après cette opération, il te faudrat signer le JAR. Ainsi, lors de l'ouverture de l'applet, il demandera l'autorisation à l'utilisateur d'accéder au disque dur.(nécessaire pour ouvrir l'image)
BenSmash Messages postés 3 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 13 février 2009
14 janv. 2009 à 21:43
Salut,
Désolé, ma question est peut-être déplacée mais je n'arrive pas à recompiler le Package. Même sans y apporter aucune modification. Enfin il compile (2 warnings) mais ensuite l'exécution de l'applet ne marche pas. Quand je remplace mon package par le tien ça marche très bien. Je ne vois pas bien. Ce que je note c'est que mon package pèse moins lourd que le tien.
Si t'as une petite idée...! Sinon tant pis!
Merci et bravo pour ton Applet!!

Voilà ce que la console Java me retourne:

java.lang.NoClassDefFoundError: org/apache/commons/httpclient/methods/multipart/PartSource
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.methods.multipart.PartSource
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 8 more
Caused by: java.io.FileNotFoundException: H:\My Documents\[xxx]\dev_backup\ImageResizer\dist\org\apache\commons\httpclient\methods\multipart\PartSource.class (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(Unknown Source)
at java.io.FileInputStream.(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 12 more
Exception: java.lang.NoClassDefFoundError: org/apache/commons/httpclient/methods/multipart/PartSource
ricotobbs Messages postés 1 Date d'inscription samedi 10 janvier 2009 Statut Membre Dernière intervention 14 janvier 2009
14 janv. 2009 à 00:45
Salut à tous.
J'ai téléchargé et mis en place cet applet: c'est top !
Je suis confronté, depuis plusieurs mois, au problème décrit plus haut, à savoir les upload de photos monstrueuses, trop grandes pour un redimensionnement en php (hébergement mutualisé) et qui demandent plusieurs dizaines de secondes pour l'upload.
J'ai simplement apporté deux modifications :
- imageResizerHTTP.java ligne 494 : new StringPart("txt", image.comments, "UTF-8"), pour la gestion des caractères spéciaux (j'encode tout en utf-8)
- Suppression de la partie "subdirectory", inutile dans mon cas. Du coup, je place les boutons sur une seule ligne.

Encore bravo et merci à twinser
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
20 déc. 2008 à 00:47
En fait, cela ne sert à rien de décompresser un JAR. Un jar est un exécutable ou une bibliothèque. L'équivalent aux dll et exe de windows.
Pour ce qui est de ton erreur, je ne vois pas ce qui déclanche cette erreur, si ce n'est en lien avec common-logging. Une API qui redirige les messages d'erreurs vers la console plus "intelligemment", et il lui faut un fichier lui donnant la manière de faire ces redirections....sauf que moi, je n'ai aucun fichier de la sorte. Cette bibliothèque ne me sert pas à grand chose, mais tous les projets Apache fonctionne avec celle-ci. Je suis obligé de l'intégrer pour faire fonctionner HttpClient.
Bref, test déjà la nvelle distribution qui est dans le zip. Copie tous les fichiers au même endroit sur ton serveur, en même temps que ton index.html.
Pour commencer, laisse les paramètres par défaut, renseigne uniquement le param "postPage". Bon courage ! En cas de pb, Envoi moi les résultat de la console par message privé.
clconsultants Messages postés 9 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 3 décembre 2009
16 déc. 2008 à 22:39
j'ai extrait les .jar (aucune idée pourquoi) et la je n'ai aucune erreur mais ca ne fonctionne pas plus....

voici mon index.html
clconsultants Messages postés 9 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 3 décembre 2009
16 déc. 2008 à 21:35
jai vérifié ca voici mon log:
[Tue Dec 16 2008] [error] File does not exist: [...]/resize/commons-logging.properties
[Tue Dec 16 2008] [error] File does not exist: [...]/resize/commons-logging.properties
[Tue Dec 16 2008] [error] File does not exist: [...]/resize/META-INF

ou [...] représente le chemin complet
le dossier ou est index.html et send.php est dans le dossier resize.

c'est mes premiers pas en java alors c'est un peu embêtant...
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
16 déc. 2008 à 18:36
Bonjour, je suis encore en train de travailler sur cet applet et je lui ajoute de nouvelles fonctionnalités. Je vous communiquerai une nouvelle version jeudi prochain.
Pour résoudre le pb, il me faudrait le retour d'erreur en console.
Remarque : il faut utilisé le paramètre "postPage" pour définir la page PHP et utilisé l'adresse complète http:// car il a besoin du protocole utilisé pour se connecter.
Une fois que vous avez l'erreur et la ligne correspondante, je vous conseil de jeter un coup d'œil aux sources.(HTTPImageResizer).
Tjrs dans la console, notez la ligne page de post : "http://..."
Pour faire les tests à partir de mon ordi, je court-circuite le parser des paramètres pour y mettre directement mon adresse. Il se peut qu'il y est des oublies !
Merci pour votre retour, j'en ai besoin pour corriger mes bugs !!
clconsultants Messages postés 9 Date d'inscription lundi 15 décembre 2008 Statut Membre Dernière intervention 3 décembre 2009
15 déc. 2008 à 20:11
Bonjour, je trouve cet applet vraiment génial. j'ai un léger probleme... l'applet load bien, je sélectionne mes images, je fais envoyer. Il redimentionne, puis il me dit que tout est uploadé avec succès. cependant le script php n'est pas appelé (je lui fais créer un fichier .log et il ne se crée pas) et les images ne s'uploadent pas... je sais pas ce que jai raté... manuellement mon log se crée... merci du coup de main!
cs_petifa Messages postés 215 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 10 mars 2014
3 déc. 2008 à 12:05
daccord, je voulais juste savoir le fond du programme.
Perso je n'ai pas du tout regardé le code et pas encore vu le rendu de l'application.
Pour ce qui est de la taille je suis d'acord avec toi, les serveurs comme free font la tête quand c'est gros et donc des fichiers images plus petits en résolutions prennent moins de place. je pense qu'il faudrait que ton appli donne la possibilité de choisir la taille de l'image avant le redimensionnement.
J'essayerai de regarder ton code ce soir en rentrant du boulo..
twinser Messages postés 32 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 26 janvier 2009 1
3 déc. 2008 à 11:29
La question serait plutot de savoir ce qu'est une image normal. Les derniers appareils photo 8MégaPixel font des photos de 3585x2431 pixels. Soit 3 fois la taille de ton écran.
Cette photo pèse 7Mo et avec 7 Mo d'upload, la plupart des serveurs vont tirer la gueule, (free.fr plante à plus de 700Ko) et notre internaute va se lasser du temps de téléchargement ( + de 5 min).
Par défaut, mon logiciel les redimensionne en 1024px max. Soit une image pleine écran.
Ce que je ne comprends pas, c'est que tu t'y connais en php. Et je suis étonné que tu ne comprennes pas la problématique de l'upload de photo. (PHP redimensionne coté serveur, il faut donc tout transférer)
cs_petifa Messages postés 215 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 10 mars 2014
3 déc. 2008 à 09:56
slt
dsl de cette question mais quelle est l'utilité réelle de ce programme? Je veux dire pourquoi redimensionner une image ? Si on veut l'image "normal" cela ne sera donc plus possible..
Rejoignez-nous