Java - Guardar parametros de un formulario en un array (Subir Archivo)

 
Vista:

Guardar parametros de un formulario en un array (Subir Archivo)

Publicado por Laura (1 intervención) el 02/12/2013 03:53:28
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):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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;
 
	}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder