Salve,
ho realizzato un uploadfile (apro nuovi thread perchè le domande sono diverse anche se l'esercizio è lo stesso). Funziona, me li carica nel DB. Ora vorrei vedere queste immagini, per la precisione una tabella con i collegamenti alle immagini del database.
Con una servlet a parte riesco a leggere le immagini...ma non so unire i le due cose in un'unica classe!
VVoVe:
Sorvolando sul codice per l'upload di file nel DB, vorrei vedere una tabella con i collegamenti alle immagini che quando ci clicco mi visualizza l'immagine...quindi (e qui sta il problema):
Codice PHP:
ResultSet rs;
PreparedStatement ps1 = conn.prepareStatement("select Nome, Img from Immagini");
rs = ps1.executeQuery();
out.println("<TABLE BORDER=\"2\">");
while(rs.next()){
int numeroColonne = rs.getMetaData().getColumnCount();
for(int i = 1; i <= numeroColonne; i++){
out.println("<TR>");
out.println("<TD>");
out.println("<A HREF=\" " +rs.getBlob("Img") +" \"> "); // Qui sta l'errore!!!
out.println(rs.getString("Nome"));
out.println("<A>");
out.println("</TD>");
out.println("<TD>");
out.println("</TD>");
out.println("</TR>");
}
}
out.println("</TABLE>");
In una servlet a parte sono riuscito a visualizzare le immagini, cioè:
Codice PHP:
String SQL =
"SELECT Img " +
"FROM immagini " +
"WHERE idImmagini = '1'";
ResultSet rs = stmt.executeQuery(SQL);
rs.next();
Blob blob = null;
blob = rs.getBlob("Img");
response.setContentType("image/jpeg");
InputStream in = blob.getBinaryStream();
OutputStream out = response.getOutputStream();
int b;
while ((b = in.read()) != -1) {
out.write(b);
}
Un problema sicuramente è il setContentType che nella mia servlet per l'upload è settato a html mentre per le immagini dovrebbe essere di tipo img...ma mica ne posso avere due di contentType? Non penso...
Spero di essere stato chiaro,
Grazie a tutti