Salve,
Ho realizzato una servlet per l'upload delle immagini.
Copia l'immagine sia nel disco che nel DB ma io vorrei scriverla solo nel database. Se levo l'istruzione che scrive nel disco mi da problemi. Qualche suggerimento?
Ecco il codice:
Codice PHP:
..
DiskFileUpload dfu = new DiskFileUpload();
try {
List fileItems = dfu.parseRequest(req);
Iterator it = fileItems.iterator();
while (it.hasNext()) {
FileItem f = (FileItem) it.next();
File file=new File(getServletContext().getRealPath("/"), f.getName());
// Scrittura su disco
f.write(file);
out.println("File " + f.getName() + " salvato in "
+ file.getAbsolutePath() + "
");
// Scrittura su DB
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test",
"root", "root");
PreparedStatement ps = conn.prepareStatement("insert into immagini values(null, ?)");
FileInputStream fis = new FileInputStream(file);
ps.setBinaryStream(1, fis, (int)file.length());
ps.executeUpdate();
ps.close();
conn.close();
}
PS:Uso le librerie Apache Commons FileUpload
Grazie dell'attenzione,
Matteo