Beim Herunterladen einer Datei mit einer Web-App ... Das erste, was mir in den Sinn kommt, ist das Einrichten eines Dateiservers, aber diese Methode ist auch ... (Die Größe ist mir egal.)
main
//Datei lesen
File uploadFile = new File("[Verzeichnis]\\tmp.xlsx");
FileInputStream finstream = new FileInputStream(uploadFile);
Sehr einfach.
main
Class.forName("oracle.jdbc.driver.OracleDriver");
//Stellen Sie eine Verbindung zu Oracle8i her
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:TEST", "system", "password");
//Anweisung erstellen
Statement stmt = conn.createStatement();
//SQL-Definition
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO [Schema].test_table(file_id, deta) VALUES(0, ?)");
//An Aussage binden
pstmt.setBinaryStream(1, finstream, (int) uploadFile.length());
//Lauf
int result = pstmt.executeUpdate();
Binär und mit setBinaryStream gesetzt.
main
//Binäre Datenerfassung
ResultSet rset = stmt.executeQuery("select deta from [Schema].upload_file where file_id = '0'");
//Holen Sie sich Blob-Daten und geben Sie sie in eine Datei aus
Blob blob = null;
while (rset.next()) {
blob = rset.getBlob("deta");
}
byte[] buffer = blob.getBytes(1, (int) blob.length());
Mit getBytes im Byte-Array speichern
main
//Geben Sie die Ausgabedatei an
File file = new File("[Verzeichnis]\\test001_output.xlsx");
DataOutputStream dos = new DataOutputStream(new FileOutputStream(file));
//Byte-Array schreiben
dos.write(buffer);
dos.close();
Einfach eine Datei erstellen und schreiben.
main
//Ergebnismenge schließen
rset.close();
//Anweisung schließen
stmt.close();
//Verbindung schließen
conn.close();
//TMP-Datei löschen
uploadFile.delete();
Verschiedene schließt. Und löschen Sie die hochgeladene temporäre Datei. Im angegebenen Verzeichnis wird eine Datei generiert.
Das letzte Mal, als ich POI zum Generieren von Excel verwendet habe, Ich möchte es mit der Dateierzeugungsverarbeitung in eine Binärdatei konvertieren und es mit demselben Ablauf in der Datenbank behalten ... (Ich spucke es einmal als temporäre Datei aus, lese es erneut und mache es binär)
Ich kann keinen Moment daran denken, also lass es uns das nächste Mal versuchen!
Recommended Posts