Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.220.154.41] |
|
Сообщ.
#1
,
|
|
|
Необходимо создать в БД таблицу test с полями id number, bl blob.
В данном примере используется Oracle. Аналогичным образом можно из сервлета любые другие бинарные файлы. import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.sql.*; import oracle.sql.*; public class ImageFileServlet extends HttpServlet { private static final String CONTENT_TYPE = "image/jpeg"; private final String sql = "select bl from test where id=\'1\'"; private final String DATABASE_URL = "Здесь URL базы данных"; public void init(ServletConfig config) throws ServletException { super.init(config); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); response.addHeader("Content-Disposition", "attachment; filename=img.jpg"); OutputStream out = response.getOutputStream(); try{ Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection(DATABASE_URL); Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql); rs.next(); BLOB blob = (BLOB) rs.getBlob(1); InputStream is = blob.binaryStreamValue(); int i; while((i=is.read())!=-1) out.write((byte) i); out.flush(); rs.close(); st.close(); conn.close(); } catch (Exception e){e.printStackTrace();} out.close(); } } [Автор - d_k] |