Buenos dias
Tengo un formulario donde se sube una foto y se registra en una base de datos para mostrarlo mas tarde
Código:
String coo = hsr.getParameter("id");
HttpSession sesionD = hsr.getSession(false);
int codig = (Integer)sesionD.getAttribute("codigo");
String lugar = "C:\\Users\\....\\Documents\\NetBeansProjects\\Social1\\web\\galerias\\"+codig;
String nombre = null;
DriverManagerDataSource dataSource;
dataSource = (DriverManagerDataSource)this.getBean("dataSource",hsr.getServletContext());
this.cn = dataSource.getConnection();
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(1024);
factory.setRepository(new File(lugar));
ServletFileUpload upload = new ServletFileUpload(factory);
try
{
List<FileItem> partes = upload.parseRequest(hsr);
for(FileItem item : partes)
{
File file = new File( lugar, item.getName() );
item.write(file);
nombre = file.getName();
}
}
catch(FileUploadException ex)
{
System.out.println(ex);
}
String rutaa="galerias/"+codig+"/"+nombre;
PreparedStatement ps = cn.prepareStatement("insert into fotos (id_f,usuario_idf,ruta,fecha) values (S_fotos.nextval,?,?,sysdate)");
ps.setInt(1,codig);
ps.setString(2,rutaa);
ps.executeUpdate();
mv.addObject("galeria",galeria(codig));
public ArrayList <fotos> galeria(int codigo) throws Exception {
ArrayList <fotos> galeria = new ArrayList();
PreparedStatement ps = cn.prepareStatement("select * from fotos where usuario_idf=? order by fecha");
ps.setInt(1,codigo);
ResultSet rs = ps.executeQuery();
while(rs.next())
{
fotos f = new fotos();
f.setIdf(rs.getInt(1));
f.setUsuario(rs.getInt(2));
f.setRuta(rs.getString(3));
f.setTitulo(rs.getString(4));
f.setFecha(rs.getString(5));
galeria.add(f);
}
return galeria;
}
la subida la hace correctamente y la inserción en la base de datos tambien la hace bien, pero al volver a la pagina no muestra la imagen, sale el tipico icono de cuando no encuentra la foto, pero si sales y vuelves a entrar de la pagina la muestra
El caso es que al entrar a la pagina y al subir una foto y recuperar las fotografias usan la misma clase : public ArrayList <fotos> galeria(int codigo)
Si le doy a boton derecho copiar url y la pego en el navegador si la muestra