Upload & Resize image ?

Upload & Resize image ? - Flash/ActionScript - Programmation

Marsh Posté le 23-10-2007 à 16:37:27    

Voila un truc très très utile :
 
Le clients appuie sur un bouton pour selectionner des photos sur son disque dur. Puis l'application Flash les envoie sur un serveur (PHP)
 
Rien de bien compliqué en AS3 avec les classes flash.net.FileReference et flash.net.FileReferenceList
 
Seulement voila, dans toute bonne application du genre, il faut aussi pouvoir les réduire car une 100ène de photos de plus 6 mégas pixels ça fait bien dans les 100 Mo ! Et en général des photos 5 fois moins grosses sont largement suffisantes.
 
Seulement j'ai 2 gros Hics en Flash :
 
1) Je ne sais pas comment lire une image (coté client). La classe FileReference nous donne bien le nom du fichier mais rien pour pouvoir la transmettre dans un Bitmap !
 
2) Je ne sais pas comment à partir d'un Bitmap (réduit en dimensions) la transcrire au format Jpeg !
 
J'ai vu sur le net qu'il y en a qui upload l'image originale pour ensuite la réduire sur le serveur en PHP ! Pour moi c'est stupide car le but de réduire l'image c'est principalement pour réduire le temps de transfère.
 
Voilà, si vous savez comment résoudre mes gros Hics qui peuvent interesser beaucoup de monde ;)  
 
Merci
 
 
 

Reply

Marsh Posté le 23-10-2007 à 16:37:27   

Reply

Marsh Posté le 23-10-2007 à 17:13:32    

Bonjour aussi ...  
donc tu ne veux pas faire le resize en php c'est ça ??

Reply

Marsh Posté le 23-10-2007 à 17:35:28    

micfont999 a écrit :

Bonjour aussi ...  
donc tu ne veux pas faire le resize en php c'est ça ??


 
Je veux faire mon resize AVANT de l'uploader !
 
 
Le but est qu'une personne lambda (nul en informatique) puisse transmettre sur un serveur une 100ene de photos reduites en une seule operation.
Et puis faut pas qu'il attende 3 heures devant son ordi car ses photos font 2 Mo (de plus en plus courant avec le nouveau APN)
 
 
 
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 23-10-2007 à 20:03:07    

on ne peut pas charger un bitmap "côté client" vers un BitmapData, FileReference renvoie toujours & forcément vers un serveur.
 
techniquement, c'est impossible.
 
sinon tu peux :  
- récupérer le fichier uploadé par ton FileReference côté serveur via un premier script,
- le charger dans ton .swf,
- l'effacer du serveur,
- le resizer en BitmapData, en passant une Matrix pour le downscaler,
- et réenvoyer ton BitmapData vers un deuxième script serveur, qui sauve un .jpg à partir des données du bitmapData.
 
sauver un .jpg à partir d'un bitmap depuis flash : http://www.sephiroth.it/tutorials/ [...] nt_screen/
 
mais tout ça est inutilement compliqué - au final la charge serveur est probablement similaire.
 
Donc resize via GD, comme tout le monde.

Reply

Marsh Posté le 23-10-2007 à 20:51:18    

antika a écrit :

(...)- et réenvoyer ton BitmapData vers un deuxième script serveur, qui sauve un .jpg à partir des données du bitmapData.(...)


Ca c'est ...  :pt1cable: ... ( prends le pas pour toi hein ! :D) ... très très bête ... uploader un Bitmap (compression nulle). Pour un peu il sera même plus gros que mon original Jpeg.
 
Et oui ! Il me semblait bien que cela était impossible. Pourtant ceci ne peut pas être un choix de sécurité puisqu'on arrive bien ravoir le Jpeg (via le serveur)
 

antika a écrit :

(...)Donc resize via GD, comme tout le monde.(...)


 :heink: GD ? Grande Dretagne ! Ca fait un peu loin là ... c'est quoi ce GD que tout le monde utilise ?
 
 
Vivement que Silverlight 1.1+ soit sur tous les ordis car c'est possible avec  :ange:


Message édité par ijk_reference le 24-10-2007 à 11:35:31
Reply

Marsh Posté le 23-10-2007 à 22:58:41    

change de métier.

Reply

Marsh Posté le 24-10-2007 à 06:39:17    

ijk_reference a écrit :


J'ai vu sur le net qu'il y en a qui upload l'image originale pour ensuite la réduire sur le serveur en PHP ! Pour moi c'est stupide car le but de réduire l'image c'est principalement pour réduire le temps de transfère.


Et pour moi ton raisonnement est mauvais. Meme si il serait vraiment pratique de pouvoir reduire une image automatiquement avant de l'uploader, il n'en reste pas moins qu'avoir une image legere sur son serveur permet d'economiser de la place (donc de la bande passante) et de reduire le temps d'affichage pour l'internaute.
Ce qui est quand meme tres important si on pense un site en orientant son utilisation vers l'internaute et non pas vers le webmaster. Ce qui est quand meme le but :/
Edit : GD est une librairie PHP qui gere les images. Principalement usité pour le resize.


Message édité par Zedlefou le 24-10-2007 à 06:41:02

---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 24-10-2007 à 09:03:13    

on est même à GD2 dis donc ... :)  
 
http://www.toutestfacile.com/php/c [...] om-gd.php5
 
http://fr.php.net/manual/fr/ref.image.php
 
Je de l'avis des autres, tu ne prendra pas plus de temps à faire le resize au moment de l'upload. :)

Reply

Marsh Posté le 24-10-2007 à 11:35:01    

micfont999 a écrit :

on est même à GD2 dis donc ... :)  
Je de l'avis des autres, tu ne prendra pas plus de temps à faire le resize au moment de l'upload. :)


 
... GD ... à si je connais... de nom... mais  je n'étais pas sensé savoir que vous parliez PHP dans la rubrique Flash  :p
 
Autrement vous parlez de mon mauvais raisonnement... Mais tout dépend de ce que je veux faire des photos !
 
Mon but est qu'une personne puisse me transmettre 100 à 200 photos facilement et rapidement. Ce n'est pas pour un affichage sur le web.
 
C'est sûr que j'aurai préféré qu'elle puisse me les transmettre par email mais des emails de 10 Mo foirent 2 fois sur 3.
 
En fait j'ai déjà fait le programme en C# et il marche très bien. J'aurai juste préféré qu'une personne n'est rien à installé  :(
 
Et je peux vous assurer que uploader 200 Mo ne prend pas le même temps que 15 Mo (photos post-réduits) !
 
J'ai l'impression d'être bien plus que vous à fond pour l'internaute et pour économiser mon serveur
 
Moi, je réduis l'upload de 85% et pas de calcul particulier pour le serveur.
 
Vous, vous uploadez le bruite (temps plus de 10 fois long pour l'internaute) et vous faites plein de gros calculs (*) de resize sur le serveur. (* faut le faire qu'1 seule fois mais quand même !)
 
Si vous voulez me dire que j'ai encore tort dans mon cas... n'hésitez pas  :jap: j'aime bien me faire mal

Reply

Marsh Posté le 24-10-2007 à 11:59:23    

Le client sera quand même conscient qu'en envoyant 200 photos ça va pas prendre le même temps que 2 quoi ..
 
Regarde quand tu envoi tes photos à pixmania, tu sais que ça va te prendre trois plombe à envoyer les photos ... (enfin avec mon 512 tout pourris, oui en tout cas :) )

Reply

Marsh Posté le 24-10-2007 à 11:59:23   

Reply

Marsh Posté le 24-10-2007 à 12:22:36    

micfont999 a écrit :

Le client sera quand même conscient qu'en envoyant 200 photos ça va pas prendre le même temps que 2 quoi ..
 
Regarde quand tu envoi tes photos à pixmania, tu sais que ça va te prendre trois plombe à envoyer les photos ... (enfin avec mon 512 tout pourris, oui en tout cas :) )


 
En general le client lambda ... il en sait rien du tout ! Et si je peux lui faire choisir d'attendre 5 mins au lieu de 3/4 d'heure c'est tout vu  ;)  
 
Pixmania, Photoways, Photoweb proposent justement un p'tit logiciel pour réduire et envoyé les photos évitant des temps de transfère trop long et souvant inutile pour du 10x25 cm.
 
Et puis sous windows XP il existe même par défaut un réducteur de photos pour les envoyer par email. Donc c'est forcé que des gens trouvent cela utile de réduire de photos avant !

Reply

Marsh Posté le 24-10-2007 à 12:25:30    

Bref, t'as ta réponse : c'est pas possible.
 
Allez :hello:


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 24-10-2007 à 13:13:46    

Zedlefou a écrit :

Bref, t'as ta réponse : c'est pas possible.
 
Allez :hello:


Ok ok on me met à la porte :cry:  
 
Et comme le malotru que je suis a loupé son bonjour au debut, je ne manquerai pas de dire merci à tous ceux qui m'on répondu si rapidement et précisement.
 
Au revoir  :hello:  
 
(Je reposerai la question quand ActionScript 4 sera sorti)

Reply

Marsh Posté le 24-10-2007 à 15:29:20    

il a toujours pas compris que "uploader vers un client", c'était antinomique.

Reply

Marsh Posté le 24-10-2007 à 16:28:10    

antika a écrit :

il a toujours pas compris que "uploader vers un client", c'était antinomique.


Et où a-t-il ecrit cette connerie !
 
Et puis le terme "monter en haut" ne le dérange pas tant que ça. Il y a moins pas de confusion :na:  
 
T'es quand même pas vexé pas quelqu'un qui fait du Flash depuis un mois et qui te dit que c'était stupide d'upload un Bitmap brute-sans-compression-aucune !?
 
 :)

Reply

Marsh Posté le 24-10-2007 à 17:07:37    

énorme  :pt1cable:  

Reply

Marsh Posté le 25-10-2007 à 04:48:28    

http://www.tailgatesport.com/feed_troll.jpg


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 15-12-2007 à 15:27:58    

Pourtant ca semble possible la :  
 
http://www.djangoandflex.org.uk/20 [...] o_a_1.html
 
et la :
http://www.pbell.com/index.cfm/200 [...] arge-Files
 
Je suis d'accord avec l'idée que le client il sit pas forcément que ca photo fait tant et tant de méga. Il est donc pratique de redimmensionner sa photo dans une taille réduite AVANT de l'uploader.


Message édité par darkolive le 15-12-2007 à 15:32:23
Reply

Marsh Posté le 17-12-2007 à 11:38:04    

Ouah !
 
Ca l'air d'être exactement ce que je cherchais. :)  
 
Merci beaucoup
 
Note : Je devrais utiliser plus souvent code.google.com  :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed