Originariamente inviato da andbin
A dire il vero (e scusa se non ho più risposto nell'altra discussione) è che non ho capito il tuo dubbio. Più o meno l'avevo spiegato: se hai un Blob, ne ottieni l'OutputStream che usi per creare un ZipOutputStream (mettendo in mezzo, se vuoi, un BufferedOutputStream). A quel punto fai tutto quel ciclo di scrittura delle entry che avevi postato all'inizio.
Ok... non avevo capito io il tuo consiglio... cmq... ora l'ho messo in atto... ma non riesco a inserire il file blob! Adesso... con il tuo consiglio... il codice e' diventato:
codice:
// il vero codice non e' questo.... queste sono solo le query!!!
INSERT INTO miaTab (id, nome_file, file) VALUES (1,"nome",oracle.sql.BLOB.getEmptyBLOB())
// Recupero il record appena inserito nella tabella :
ResultSet rs = "SELECT file FROM miaTab where ID = 1";
// Inserisco il nuovo valore per il campo blob:
Blob zipBlob =(Blob) rs.getBlob(1);
OutputStream outS = zipBlob.setBinaryStream(0);
BufferedOutputStream boutS = new BufferedOutputStream(outS);
// Creo il file zip utilizzando new ZipOutputStream(boutS);
ZipOutputStream zipFile= creaZip()
boutS.close();
Non da errori.... ma in realta'... non salva nessun file zip nel blob!!!!
Le altri volte ho inserito un campo blob attraverso il codice di prima (le query) inserendo pero' (dopo aver recupertato il boutS dalla select) il codice:
codice:
byte [] blob = zipFile;
boutS.write(blob);
boutS.flush();
boutS.close();
ma andavo ad inserire un Array di Byte!!!!
Non so più cosa fare!!!! Help HELP HEEEEELP!!!!!!!!
Cmq... intanto moooolte grazie per l'aiuto!!!