Ich suche nach einer Möglichkeit, eine Videodatei zu speichern. Ursprünglich hatte ich die Videodateien als Blob-Daten in eine Datenbank gespeichert, und jetzt versuche ich, die Blob-Daten zurückzubekommen, sie in Bytes umzuwandeln und sie dann in eine neue Datei zu schreiben. Das ist mir zwar gelungen, aber das Problem ist, dass ich die resultierenden Dateien nicht zum Laufen bringen kann. Ich habe versucht, .flv- und .mp4-Dateien zu speichern, abzurufen und zu schreiben, aber beides funktioniert nicht :/ Kann mir jemand helfen? Ich wäre Ihnen sehr dankbar! :)
Hier ist mein Code: :)
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(connectionURL, "root","password");
Statement st1 = (Statement) con.createStatement();
PreparedStatement pstmt = null;
ResultSet rs = null;
pstmt = con.prepareStatement("SELECT video_file from video where video_id = " + video_id);
rs = pstmt.executeQuery();
Blob blob = null;
byte[] blyte = null;
if(rs.next()) {
blob = rs.getBlob("video_file");
InputStream is = blob.getBinaryStream();
FileOutputStream fos = new FileOutputStream("C:\\Downloads\\file2.mp4");
int b = 0;
while(b != -1){
fos.write(b);
b = bis.read();
}
}
//exceptions beyond this point
} catch (InstantiationException e) {
} catch (IllegalAccessException e) {
} catch (ClassNotFoundException e) {
} catch (SQLException e) {
} catch (FileNotFoundException e) {
} catch (IOException e) {
}