http://www.forosdelweb.com/1418257-post28.html
Lo he modificado un poco para que se adapte a lo que quiero hacer. Tengo un formulario donde hay un input file para que el usuario carge en él la imagen que quiera. La dirección de donde está la imagen se la paso a un jsp donde se guarda dicha dirección en un atributo String de un objeto Java. Este objeot lo envío a una clase encargada de recorrer todo sus atributos y guardarlos en una base de datos. La dirección de la imagen la guardo en un campo texto (VARCHAR2) y la imagen en sí en un directorio del servidor. Hasta aquí la explicación de lo que estoy haciendo.
Paso ahora a comentar cuál es mi problema. Cuando la dirección llega de la imagen llega, a través del onjeto, a la clase encargada de guardar los datos en la base de datos salta la siguiente excepción:
Uncaught error fetching image:
java.lang.NullPointerException
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.awt.image.FileImageSource.getDecoder(Unknown Source)
at sun.awt.image.InputStreamImageSource.doFetch(Unkno wn Source)
at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
at sun.awt.image.ImageFetcher.run(Unknown Source)
Del código de la FAQ sólo he modificado aquel que se encarga de enviar los atributos de la imagen de entrada y de salida a la clase que hace el resize. Os pongo aquí ese código que he cambiado, el resto es igual que en la FAQ.
Código:
NOTA: "objeto" es el objeto Java que guarda entre otros atributos la dirección de la imagen que quiere subir el usuario; "getImg()" es un método del objeto Java para obtener la dirección de la imagen (String); "generaNombre()" es un método que crea un nombre aleatorio y único a la imagen que va a ser guardada en el servidor.ImageResize img = new ImageResize(); img.setImgOriginal(objeto.getImg()); objeto.setImg("WebContent/img/userimg/" + generaNombre() + "jpg"); img.setImgResult(objeto.getImg()); img.setCalidad(100); img.setHeight(75); img.setWidth(78); img.resize();
Bueno, espero que me podáis ayudar ya que necesito tener esto para poder continuar con la aplicación que estoy desarrollando y ya llevo varios días de retraso. Muchísimas gracias.