J
JohnLemon
Здравствуйте, подскажите пожалуйста, есть код сохранения данных в тип данных bytea, а так же чтение с него и сохранение в файл.
Подскажите пожалуйста как передать этот файл в xpages. Что бы пользователь сам его сохранял на диск ?
Код:
package com.my.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.PreparedStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.faces.context.FacesContext;
import com.ibm.xsp.extlib.util.JdbcUtil;
public class Test {
//сохранение в Bytea
public static void saveToBytea() throws IOException {
try {
Connection conn = JdbcUtil.getConnection(FacesContext.getCurrentInstance(), "derby1");
File loadFile = new File("c:\\test.txt");
FileInputStream fis = new FileInputStream(loadFile);
PreparedStatement ps = conn.prepareStatement("INSERT INTO test_goverment (who, files) VALUES (?, ?)");
//ps.setString(1, loadFile.getName());
ps.setString(1, "d");
ps.setBinaryStream(2, fis, (int)loadFile.length());
ps.executeUpdate();
ps.close();
fis.close();
} catch(SQLException exception) {
System.out.println(exception.getMessage());
}
}
//сохранение в файл
public static void saveToFile() throws IOException {
try {
Connection conn = JdbcUtil.getConnection(FacesContext.getCurrentInstance(), "derby1");
ResultSet rs = conn.createStatement().executeQuery(
"SELECT files FROM test_goverment where who='d'");
byte[] imgBytes = null;
if (rs != null) {
while (rs.next()) {
imgBytes = rs.getBytes(1);
}
FileOutputStream os = new FileOutputStream("c:\\samoutput.txt");
os.write(imgBytes);
os.flush();
os.close();
}
rs.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Подскажите пожалуйста как передать этот файл в xpages. Что бы пользователь сам его сохранял на диск ?