Problema con ruta de imagen
Buenas a todos,tengo la siguiente interrogante, este es mi metodo que recibe un objeto producto y una imagen este metodo funciona perfectamente bien guarda la informacion y la imagen en un campo de tipo BLOB en mi base de datos mySQL,EL PROBLEMA que tengo es que solo sive cuando concateno toda la ruta de donde tengo la imagen, si quito esa ruta me dice que no encuentra la imagen,que puedo hacer? ya busque por medio mundo y nada
lom que quiero es no tener que poner toda la ruta,ya que obviamente esto hara a mi metodo sumamente inestable,se que mi duda es sumamente basica,pero la verdad ya le hice cabeza bastante rato y nada
PreparedStatement pre = null;
try {
File imgfile = new File("C:\\Documents and Settings\\Victor\\Escritorio\\"+imagen); //HE AQUI MI PROBLEMA
FileInputStream fin = new FileInputStream(imgfile);
pre = conexionMaestra.prepareStatement("INSERT INTO producto VALUES(null,?,?,?,?,?,?,?)");
pre.setInt(1, productoP.getMarcaPerfume());
pre.setString(2, productoP.getNombrePerfume());
pre.setDouble(3, productoP.getPrecioCompra());
pre.setDouble(4, productoP.getPrecioVenta());
pre.setDouble(5, productoP.getDescuento());
pre.setInt(6, productoP.getCantidad());
pre.setBlob(7, fin);
} catch (Exception ex) {
ex.printStackTrace();
}
return util_DAO.intruccionSQLPreparedStatement(pre);
}
- Inicie sesión o regístrese para enviar comentarios
Si tu problema es que estas
Si tu problema es que estas escribiendo el nombre la la imagen manualmente podrias usar JFileChooser.
algo como
chooser.setCurrentDirectory(new java.io.File("."));
//Elegiremos archivos del directorio
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
chooser.setAcceptAllFileFilterUsed(true);
//Si seleccionamos algún archivo retornaremos su directorio
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
String rutaImagen = chooser.getSelectedFile().getAbsolutePath().toString(); // esta seria la ruta de tu imagen
//Si no seleccionamos nada retornaremos No seleccion
} else {
JOptionPane.showMessageDialog(rootPane, "seleccione un archivo");
}
No es la mejor explicacion, pero espero q te sirva.
Es JSP
Discupa mi error no especifique que era JSP osea WEB,de todos modos se aprecia tu codigo para aplicaciones de Escritorio,pero la verdad es que mi aplicacion es en JSP y llevo rato tratando de arreglarlo y nada
De nuevo muchas gracias y disculpa el fallo