public class MyStoredFiles extends HttpServlet implements Servlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Connection conn = null;
ResultSet rs = null;
PreparedStatement pstmt = null;
InputStream is = null;
String fileName="",mimeType="";
String fileid=request.getParameter("fileid");
String tmpPath = System.getProperty("tmpfilepath");
try {
 String sql = "select * from storedfiles where fileid=?";
 conn = OraManager.getConnection(this);
 pstmt = conn.prepareStatement(sql);
 pstmt.setString(1, fileid);
 rs = pstmt.executeQuery();
 if (rs.next()) {
  fileName=rs.getString("filename");
  mimeType=rs.getString("content_type");
                //write it to the temp area
  java.io.File file = new java.io.File(tmpPath+fileName);
  FileOutputStream fos = new FileOutputStream(file);
  is = rs.getBinaryStream("data");
  byte[] buffer = new byte[1000];
  while (is.read(buffer) > 0) {
   fos.write(buffer);
  }
  fos.close();
  
  BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
   // Get image contents.
  byte[] bytes = new byte[in.available()];
  in.read(bytes);    
  in.close();
  response.setContentType("application/pdf");
       response.addHeader("Content-Disposition", "inline;filename=\""+fileName+"\"");
  // Write image contents to response.
  response.getOutputStream().write(bytes);
        }
 } catch (Exception e) { 
  e.printStackTrace();
 }
  
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 doGet(request, response);
}
Bu örnekte link ile gelen paramterelere göre veritabanından dosya çekiyoruz.
Bu servletimzi web.xml de tanımlamamız gerekiyor;
<servlet>
<description></description>
<display-name>MyStoredFiles</display-name>
<servlet-name>MyStoredFiles</servlet-name>
<servlet-class>org.test.servlet.MyStoredFiles</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyStoredFiles</servlet-name>
<url-pattern>/showstoredfile</url-pattern>
</servlet-mapping>
jsp sayfasında görüntüleme is şöyle olabilir;
<h:commandLink value="#{file.name}" 
 onclick="javascript:window.open(root_folder+'/showpffile?fileid=#{file.fileId}','popupWindow', 'dependent=yes,menubar=no,toolbar=no,location=no,resizable=1,scrollbars=yes');">
</h:commandLink>
 
 
 Kayıtlar
Kayıtlar
 
 
Merhaba
YanıtlaSilYazınızda "pdf, doc, excel, jpeg gif veya başka herhangi bir dosya türünü" ekranda gösterebileceğimizi yazmışsınız. Fakat application/pdf tanımlı olduğu için burada word veya excel dokumanları gorunmuyor. Bunları gosterebılmek için application type ne olmalı ?
Teşekkürler...