Toon posts:

[Flash, Java] foto downloaden en uploaden door client?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een procedure die de server te zwaar belast. De procedure is als volgt:
Situatie: gebruiker vult URL naar plaatje in en verstuurd het formulier.
Server doet het volgende:
1. download een plaatje (100 kb) van http://www.domein1.com/plaatje.jpg
2. resize gedownloade plaatje naar 75x75 grootte.
3. resize gedownloade plaatje naar 300x300 grootte.
4. sla beide plaatjes op.

Voor het resizen gebruik ik de php functie imagecopyresampled, deze maakt goede kwaliteit plaatjes, maar is een stuk langzamer dan imagecopyresized (ongeveer de helft in mijn situatie). Imagemagick is weer de helft sneller dan imagecopyresampled, maar Imagemagick mag ik niet installeren op de server.

Ik ben dus op zoek naar methoden om de server minder zwaar te belasten. De oplossing die ik bedacht is het resize werk door de client te laten doen. Daarvoor heb ik een delphi programmatje geschreven en dat werkt goed.

Maar de gebruiker moet wel een programma downloaden en installeren. Dat doen sommige gebruikers niet zo snel.

Na enig denkwerk kwam ik bij de volgende aanvullende mogelijke oplossingen:
1. java applet, applet download plaatje van http://www.domein1.com/plaatje.jpg, resized het vervolgens en upload de beide plaatjes naar de server.
2. flash ding, ik heb weinig verstand van flash, maar weten jullie of dat mogelijk is? (misschien shockwave?)

Ik heb beide aanvullende oplossingen nog niet geimplementeerd, omdat ik niet helemaal zeker ben (speciaal oplossing 2.) of dat technisch gezien wel mogelijk is. Kunnen jullie mij de helpende hand bieden?

  • brokenp
  • Registratie: December 2001
  • Laatst online: 23-05 11:37
Ik zou dit zeker niet clientside gaan doen, er zijnmisschien ook mensen met een modem die normaalgesproken alleen een url versturen. In de nieuwe situatie moeten ze eerst de afbeelding downloaden, resizen en dan 2x uploaden. Als client wordt ik daar niet echt blij van...

Verwijderd

Topicstarter
brokenp schreef op 29 augustus 2004 @ 14:19:
Ik zou dit zeker niet clientside gaan doen, er zijnmisschien ook mensen met een modem die normaalgesproken alleen een url versturen. In de nieuwe situatie moeten ze eerst de afbeelding downloaden, resizen en dan 2x uploaden. Als client wordt ik daar niet echt blij van...
Het is natuurlijk optioneel, gebruikers kunnen er voor kiezen om het delphi programmatje te gebruiken, maar ze kunnen er ook voor kiezen om een html formulier te gebruiken. Gebruikers die java aan hebben staan krijgen de applet voor hun neus, maar kunnen als ze dat willen zo naar het html formulier.

Natuurlijk "stimuleer" ik de niet html formulier oplossingen, maar een keuze kan de gebruiker altijd blijven maken. :Y)

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 12-05 15:26

Eelke Spaak

- Vlad -

Zo zwaar belast imagecopyresampled() de server nou toch ook weer niet? En als het toch niet je eigen server is (je mag imagemagick immers niet installeren) zou ik me niet zo druk maken over de serverload van je hoster. Als de requests echter merkbaar traag geserviced worden zou ik eens overwegen een andere hosting provider te zoeken :) .

TheStreme - Share anything with anyone


Verwijderd

Topicstarter
De hoster heeft aangegeven dat de serverload te hoog was, na gezamelijk onderzoek kwamen we tot de conclusie dat de resize procedure te langzaam was (deze word namelijk vaak uitgevoerd en kan niet worden vermeden).

Maar inmiddels heb ik de java applet oplossing klaar :) Dat was nog een hele klus om alle onderdelen jdk1.1 compatibel te krijgen.

Wat ik me nog afvraag is of de flash oplossing technisch gezien mogelijk is.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23:25

Janoz

Moderator Devschuur®

!litemod

Verwijderd schreef op 29 augustus 2004 @ 14:12:

Na enig denkwerk kwam ik bij de volgende aanvullende mogelijke oplossingen:
1. java applet, applet download plaatje van http://www.domein1.com/plaatje.jpg, resized het vervolgens en upload de beide plaatjes naar de server.
2. flash ding, ik heb weinig verstand van flash, maar weten jullie of dat mogelijk is? (misschien shockwave?)
1 gaat sowieso niet op die manier werken. Een java applet draait in een sandbox waardoor het alleen maar een verbinding www.jouwserver.tld kan maken, en dus onmogenlijk een plaatje op kan halen bij www.ingevuldanderdomein.tld. Hetzelfde geld ook voor 2, maar voor zover ik weet heeft flash niet eens de mogenlijkheid om plaatjes te bewerken en het resultaat op te sturen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
flash kan niet aan image processing doen. (nou ja, tenzij je in XML gaat doorgeven wat je pic is :).

voor ons bedrijf hebben we een flash component dat via XML-RPC de image processing op de server doet (de backend is wel ImageMagick in ons geval omdat we toch veel compatibiler zijn met veel formaten, en zoals gezegd een PAK sneller is (+ veel mooier).).

Shockwave zou eventueel nog wel kunnen maar ook dat wordt erg zwaar. En je zult het deftige resamplers zelf moeten schrijven. + Aankoop van een paar plugins == mucho expensive).

Java applet is best bet. (via permissions kan je doen wat je wil. maar dan heb je wel weer een certificate nodig). (of Webstart). Als het microsoft only is kun je nogaltijd ActiveX proberen.... die 5-7 % anderen kun je dan nog wel laten uppen...
Pagina: 1