Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Guardar parametros de un formulario en un array (Subir Archivo)

Estas en el tema de Guardar parametros de un formulario en un array (Subir Archivo) en el foro de Java en Foros del Web. Bueno Pues primero que nada mucho gusto soy nueva por aqui :3 Tengo un pequeño problema y me gustaria que pudieran prestarme un poco de ...
  #1 (permalink)  
Antiguo 01/12/2013, 17:48
Avatar de Patiuxi  
Fecha de Ingreso: diciembre-2013
Ubicación: Mi Casa
Mensajes: 2
Antigüedad: 10 años, 4 meses
Puntos: 0
Pregunta Guardar parametros de un formulario en un array (Subir Archivo)

Bueno Pues primero que nada mucho gusto soy nueva por aqui :3 Tengo un pequeño problema y me gustaria que pudieran prestarme un poco de su ayuda.

El caso es que estoy haciendo una aplicacion web de una butique y tengo que guardar los datos de los productos etc. Uno de esos datos es una imagen, al principio batalle un poco pero finalmente lo logre, solo que los campos de tipo txt del formulario aparecian como null nuevamente pude solucionando guardandolo en un array de byte (byte[]) Ahora el problema: Quiero guardar estos parametros en un array (o si es que se puede de otra manera) para despues subirlo a la BD, lo intente pero solo me guardaba el ultimo registro, les agradeceria mucho si pudieran ayudarme :3
Mi codigo (la parte que guarda la imagen):


Código:
boolean subido = false;
	boolean isMultiPart = ServletFileUpload.isMultipartContent(request);
	
	if(isMultiPart){
		DiskFileItemFactory factory = new DiskFileItemFactory();
		ServletFileUpload upload = new ServletFileUpload(factory);
	try{
		FileItemIterator iterator = upload.getItemIterator(request);
		
		while(iterator.hasNext()){
			FileItemStream item = iterator.next();
			
			if (item.isFormField()) {
				nombre = item.getFieldName();
				InputStream is = item.openStream();
				byte[] b = new byte[is.available()];
				is.read(b);
				String valor = new String(b);
				
		}else{
			String ubicacionArchivo = "H:/ProyectoBoutique/Boutique/WebContent/css/images/";
			File file = new File(ubicacionArchivo,item.getName());
			if(! file.exists())file.mkdir();
			
			File savedFile = new File(file.getAbsolutePath()+File.separator + item.getName());
			FileOutputStream fos = new FileOutputStream(savedFile);
			InputStream is = item.openStream();
			int x = 0;
			byte[] b = new byte[1024];
			while((x = is.read(b))!= -1){
				fos.write(b, 0, x);
			}
			fos.flush();
			fos.close();
			subido = true;
			if(subido){
				out.write("Archivo se subio correctamente");
			}else{
				out.write("No se ha podido subir el archivo");
			}
		}
		}
	
		
	}catch(FileUploadException  ex){
	out.write("Error al subir el archivo" + ex.getMessage());
	}catch(NullPointerException e){
		e.getMessage();
	}

	subido = false;

	}
  #2 (permalink)  
Antiguo 02/12/2013, 04:29
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 4 meses
Puntos: 22
Respuesta: Guardar parametros de un formulario en un array (Subir Archivo)

Cuando dices:
Cita:
Iniciado por Patiuxi Ver Mensaje
que los campos de tipotxt del formulario aparecian como null
Te refieres a los input text del formulario no???

La imagen si que veo normal que la pases y la guardes en la BBDD como un array de bytes (otra opcion seria guardar la url en la que se encuentra en el servidor o local).
Lo que no entiendo es porque transformas tambien los valores introducidos en el formulario.
  #3 (permalink)  
Antiguo 02/12/2013, 18:08
Avatar de Patiuxi  
Fecha de Ingreso: diciembre-2013
Ubicación: Mi Casa
Mensajes: 2
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Guardar parametros de un formulario en un array (Subir Archivo)

Al final logre solucionarlo guardando los datos en un Hashmap, gracias de todas formas :3

Etiquetas: bd, formulario, parametros, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:58.