Я пытаюсь найти способ сохранить видеофайл. Первоначально я помещал видеофайлы как данные больших двоичных объектов в базу данных, а теперь я пытаюсь вернуть данные больших двоичных объектов, преобразовать их в байты, а затем записать в новый файл. Я добился успеха в этом, но проблема в том, что я не могу заставить полученные файлы работать. Я пытался хранить, извлекать и записывать файлы .flv и .mp4, но ни один из них не работает: / Кто-нибудь может мне помочь? Очень признателен! :)
Вот мой код::)
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) {
}