Quiero visualizar un archivo pdf en netbeans

Tengo guardado un archivo pdf en la base de datos mysql ahora quisiera poder visualizar el archivo trabajo en netbeans
Poner un jtextfiel y jbutton poner en el jtextfiel el id del archivo y cuando presiono el jbutton que me abra el archivo abra alguna manera

1 respuesta

Respuesta
1
este es un método que hice para construir cualquier archivo sacado desde la base de datos
public void guardaImagenEnDisco(InputStream imagenBuffer) {
try
// (esto es practicamente una copia de ficheros clasica)
{
File fichero = new File("c:\\melones.pdf");
BufferedInputStream in = new BufferedInputStream(imagenBuffer);
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(fichero));
byte[] bytes = new byte[8096];
int len = 0; depura("Copiamos el fichero");
while ( (len = in.read( bytes ))> 0 )
{
out.write( bytes, 0, len );
}
out.flush();
out.close();
in.close();
depura("Teminación del proceso con éxito");
}
catch(Exception e) { depura("Error al escribir en disco " + e.getMessage()); } }
----------------------------------------------------------------------------------------------------------------
Y lo usarías así :
Statement stmt = con.createStatement();
ResultSet results = stmt.executeQuery("select archivo from tabla");
results.next();
Blob campo = results.getBlob("archivo");
InputStream x =campo.getBinaryStream();
GuardaImagenEnDisco(x)
Si pero no como más o menos debería ser porque ahí tu estas poniendo el archivo que quieres sacar de la base de datos no apuntando al jtextfiel con el jbutton
public void guardaImagenEnDisco(InputStream imagenBuffer) {
try
// (esto es practicamente una copia de ficheros clasica)
{
File fichero = new File("c:\\melones.pdf");
BufferedInputStream in = new BufferedInputStream(imagenBuffer);
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(fichero));
byte[] bytes = new byte[8096];
int len = 0; depura("Copiamos el fichero");
while ( (len = in.read( bytes ))> 0 )
{
out.write( bytes, 0, len );
}
out.flush();
out.close();
in.close();
depura("Teminación del proceso con éxito");
}
catch(Exception e) { depura("Error al escribir en disco " + e.getMessage()); } }
----------------------------------------------------------------------------------------------------------------
Y lo usarías así :
Statement stmt = con.createStatement();
ResultSet results = stmt.executeQuery("select archivo from tabla where name=' "+ JTextfield1.getText()+"' ");
results.next();
Blob campo = results.getBlob("archivo");
InputStream x =campo.getBinaryStream();
GuardaImagenEnDisco(x)
Asi sacarias el q quieres por el nombre

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas