Per la seconda problematica... mi pare che qui sul forum si sia già parlato di resize di immagini con java. Ci sono diversi possibili approcci e molto dipende da che api puoi installare/hai a disposizione. Attenzione comunque a soluzioni client side... se uno carica 10 file da 20MB e a livello html (quindi quel che vede il client) hai qualcosa del genere:

codice:
[img]img_1.jpg[/img]
...
[img]img_10.jpg[/img]
Ossia "forzi" la larghezza cosicchè il tuo layout venga rispettato, il cient si scaricherà comunque 200MB di roba... il che non è proprio raccomandabile (nemmeno per te, visto che la banda sarà tanta ma non infinita)