Ciao amici,
non riesco a salvare dei file jpg in un database mysql?
Qualcuno di vuoi può aiutarmi?
Grazie mille.
Ciao amici,
non riesco a salvare dei file jpg in un database mysql?
Qualcuno di vuoi può aiutarmi?
Grazie mille.
un po' di codice?
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Magari, quello sarebbe l'deale,
però va bene anche piccolo consiglio su come fare.
Girando su internet, ho capito che per inviare una immagine al data base, bisogna convertire il file in una stringa binaria.
E' cero questa cosa?
Mammamia, se qualcuno mi può aitare sarei molto felice!
Grazie mille.
Ehm...credo che Andrea si riferisse al fatto che tu debba postare un pò di codice da te sviluppato per circoscrivere meglio il problema.Originariamente inviato da 79Kuntz79
Magari, quello sarebbe l'deale,
però va bene anche piccolo consiglio su come fare.
Girando su internet, ho capito che per inviare una immagine al data base, bisogna convertire il file in una stringa binaria.
E' cero questa cosa?
Mammamia, se qualcuno mi può aitare sarei molto felice!
Grazie mille.![]()
Allora... vediamo, non avevo mai usato i blob comunque, sono giunto a questo (che pare funzionare).
Considererò una tabella "IMAGES" nel database (nella macchina ho installato php +mysql) i cui campi sono ID, NAME, IMG (img è blob)
e questo è quanto. A dire il vero, avevo provato a passare il valore del campo NAME all'atto della creazione di pstmt, ma mi dava un errore assurdo (tipo che non trovava il campo "logo")... allora ho fatto come suggeriscono da mamma-SUN, aggiungendo anche il setString.codice:Connection conn = DriverManager.getConnection("jdbc:mysql://" + db_host + "/" + db_name + "?user=" + db_user + "&password=" + db_password); File file = new File("logo.jpg"); InputStream fin = new java.io.FileInputStream(file); int fileLength = (int)file.length(); PreparedStatement pstmt = conn.prepareStatement("INSERT INTO IMAGES (NAME, IMG) "+"VALUES (?, ?)"); pstmt.setString(1, file.getName()); pstmt.setBinaryStream (2, fin, fileLength); pstmt.executeUpdate();
Puoi leggere di più qui:
http://java.sun.com/j2se/1.5.0/docs/...t.html#1000062
e seguenti.
Ciao
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
e con quest altro recupero e salvo in un nuovo file.
codice:PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM IMAGES WHERE ID=1"); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { OutputStream fos = new java.io.FileOutputStream(new File("new_" + rs.getString("name"))); InputStream fin = rs.getBinaryStream("img"); byte[] b = new byte[fin.available()]; fin.read(b); fos.write(b); fos.flush(); fos.close(); }
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
ciao Andrea, grazie mille.
Sono riuscito a far funzionare la prima parte del tuo codice, tutto ok.
Adesso però mi servirebbe che quella immagine salvata nel database, venisse visualizata sulla finestra del browser.
Come posso fare? Ho guardato un po la tua seconda parte di codice ma non sono riuscito a far leggere l'immagine.
Puoi aiutarmi?
Grazie mille.
ok, prova qui:
http://forum.java.sun.com/thread.jsp...hreadID=622658
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Ciao ho compilato la servelt.
Ma adesso questo files Picture.class dove lo inserisco?
Io, per fare le prove, uso la cartella examples di tomcat.
Mi aiuti?
non so aiutarti, con tomcat c'ho solo fatto l'installazionefin'ora.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"