Skip to content
Snippets Groups Projects
Commit 5396f0f0 authored by andres's avatar andres
Browse files

Crear archivo desde blob

parent 8e150889
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,13 @@
*/
package conexionDB;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
......@@ -61,7 +67,7 @@ public class documentoDB {
documento.setResumen(rs.getString("resumen"));
documento.setFechaCreacion(rs.getDate("fechaCreacion"));
documento.setFechaModificacion(rs.getDate("fechaModificacion"));
documento.setDocumento(rs.getBlob("documento"));
documentos.add(documento);
}
......@@ -76,6 +82,43 @@ public class documentoDB {
}
}
public static ArrayList<Documento> getFiles(int idNook) throws FileNotFoundException, IOException {
ConnectionPool pool = ConnectionPool.getInstance();
Connection connection = pool.getConnection();
ResultSet rs = null;
ArrayList<Documento> documentos=new ArrayList();
String consulta = "SELECT * FROM Documento WHERE nook = ?";
try {
PreparedStatement ps = connection.prepareStatement(consulta);
ps.setInt(1, idNook);
rs = ps.executeQuery();
while (rs.next()) {
Documento documento=new Documento();
documento.setNook(rs.getInt("nook"));
documento.setNombre(rs.getString("nombre"));
documento.setResumen(rs.getString("resumen"));
documento.setFechaCreacion(rs.getDate("fechaCreacion"));
documento.setFechaModificacion(rs.getDate("fechaModificacion"));
documentos.add(documento);
InputStream is = rs.getBinaryStream("documento");
String str = convert(is);
new File("temp").mkdir();
File file = new File("temp/"+documento.getNombre());
FileOutputStream outputStream = new FileOutputStream(file);
outputStream.write(str.getBytes());
outputStream.close();
}
rs.close();
ps.close();
pool.freeConnection(connection);
return documentos;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public static int insertDocu(int idNook, Part documento) throws IOException {
ConnectionPool pool = ConnectionPool.getInstance();
Connection connection = pool.getConnection();
......@@ -98,4 +141,23 @@ public class documentoDB {
return 0;
}
}
private static String convert(InputStream is) {
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayOutputStream buf = new ByteArrayOutputStream();
int result;
String str = null;
try {
result = bis.read();
while (result != -1) {
buf.write((byte) result);
result = bis.read();
}
str = buf.toString("UTF-8");
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
}
......@@ -5,13 +5,24 @@
*/
package servlet;
import conexionDB.documentoDB;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.InputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import modelo.Documento;
/**
*
......@@ -28,24 +39,16 @@ public class descargarNookSV extends HttpServlet {
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
* @throws java.sql.SQLException
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet descargarNookSV</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet descargarNookSV at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
throws ServletException, IOException, SQLException {
HttpSession session = request.getSession(false);
String usuario = (String) session.getAttribute("usuario");
int nook = Integer.parseInt(request.getParameter("idNook"));
ArrayList<Documento> documentos = documentoDB.getFiles(nook);
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
......@@ -58,7 +61,11 @@ public class descargarNookSV extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
Logger.getLogger(descargarNookSV.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
......@@ -72,7 +79,11 @@ public class descargarNookSV extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
Logger.getLogger(descargarNookSV.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
......
......@@ -57,8 +57,8 @@ public class nookSV extends HttpServlet {
request.setAttribute("comentarios",comentarios);
request.setAttribute("valoracion", valoracion);
request.setAttribute("cValoraciones", cValoraciones);
String url = "/paginaNook.jsp";
String url = "/paginaNook.jsp";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
dispatcher.forward(request, response);
......
......@@ -36,7 +36,7 @@ j2ee.compile.on.save=true
j2ee.copy.static.files.on.save=true
j2ee.deploy.on.save=true
j2ee.platform=1.7-web
j2ee.platform.classpath=${j2ee.server.home}/lib/annotations-api.jar:${j2ee.server.home}/lib/catalina-ant.jar:${j2ee.server.home}/lib/catalina-ha.jar:${j2ee.server.home}/lib/catalina-storeconfig.jar:${j2ee.server.home}/lib/catalina-tribes.jar:${j2ee.server.home}/lib/catalina.jar:${j2ee.server.home}/lib/derby.jar:${j2ee.server.home}/lib/derbyclient.jar:${j2ee.server.home}/lib/ecj-4.9.jar:${j2ee.server.home}/lib/el-api.jar:${j2ee.server.home}/lib/jasper-el.jar:${j2ee.server.home}/lib/jasper.jar:${j2ee.server.home}/lib/jaspic-api.jar:${j2ee.server.home}/lib/jsp-api.jar:${j2ee.server.home}/lib/servlet-api.jar:${j2ee.server.home}/lib/tomcat-api.jar:${j2ee.server.home}/lib/tomcat-coyote.jar:${j2ee.server.home}/lib/tomcat-dbcp.jar:${j2ee.server.home}/lib/tomcat-i18n-cs.jar:${j2ee.server.home}/lib/tomcat-i18n-de.jar:${j2ee.server.home}/lib/tomcat-i18n-es.jar:${j2ee.server.home}/lib/tomcat-i18n-fr.jar:${j2ee.server.home}/lib/tomcat-i18n-ja.jar:${j2ee.server.home}/lib/tomcat-i18n-ko.jar:${j2ee.server.home}/lib/tomcat-i18n-pt-BR.jar:${j2ee.server.home}/lib/tomcat-i18n-ru.jar:${j2ee.server.home}/lib/tomcat-i18n-zh-CN.jar:${j2ee.server.home}/lib/tomcat-jdbc.jar:${j2ee.server.home}/lib/tomcat-jni.jar:${j2ee.server.home}/lib/tomcat-util-scan.jar:${j2ee.server.home}/lib/tomcat-util.jar:${j2ee.server.home}/lib/tomcat-websocket.jar:${j2ee.server.home}/lib/websocket-api.jar
j2ee.platform.classpath=${j2ee.server.home}/lib/annotations-api.jar:${j2ee.server.home}/lib/catalina-ant.jar:${j2ee.server.home}/lib/catalina-ha.jar:${j2ee.server.home}/lib/catalina-storeconfig.jar:${j2ee.server.home}/lib/catalina-tribes.jar:${j2ee.server.home}/lib/catalina.jar:${j2ee.server.home}/lib/derby.jar:${j2ee.server.home}/lib/derbyclient.jar:${j2ee.server.home}/lib/ecj-4.4.2.jar:${j2ee.server.home}/lib/el-api.jar:${j2ee.server.home}/lib/jasper-el.jar:${j2ee.server.home}/lib/jasper.jar:${j2ee.server.home}/lib/jsp-api.jar:${j2ee.server.home}/lib/servlet-api.jar:${j2ee.server.home}/lib/tomcat-api.jar:${j2ee.server.home}/lib/tomcat-coyote.jar:${j2ee.server.home}/lib/tomcat-dbcp.jar:${j2ee.server.home}/lib/tomcat-i18n-es.jar:${j2ee.server.home}/lib/tomcat-i18n-fr.jar:${j2ee.server.home}/lib/tomcat-i18n-ja.jar:${j2ee.server.home}/lib/tomcat-jdbc.jar:${j2ee.server.home}/lib/tomcat-jni.jar:${j2ee.server.home}/lib/tomcat-util-scan.jar:${j2ee.server.home}/lib/tomcat-util.jar:${j2ee.server.home}/lib/tomcat-websocket.jar:${j2ee.server.home}/lib/websocket-api.jar
j2ee.server.type=Tomcat
jar.compress=false
javac.classpath=\
......
......@@ -74,7 +74,7 @@ and open the template in the editor.
<li><a href="autorSV?nombre=<%=autor%>"><%=autor%></a></li>
<%}%>
<li><%=fecha%></li>
<li><button type="button">Descargar</button></li>
<li><button type="button" onclick="window.location.href='/descargarNookSV?idNook=<%=nook.getIdNook()%>'">Descargar</button></li>
<li><button type="button" onclick="window.location.href='/documentosSV?idNook=<%=nook.getIdNook()%>'">Ver archivos</button></li>
<li><text>Descargas: <%=descargas%></text></li>
</ul>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment