通过jsp中的路径从数据库中检索文件

时间:2012-05-08 06:55:10

标签: mysql html jsp hyperlink

我想通过其路径(本地服务器路径)下载文件存储在数据库表中,我已经完成了编码部分来查看html表中的数据库,但我不知道如何超链接表以便从存储在服务器中的ouput文件夹下载文件(任何类型和大小)。 这是jsp代码:

<%@ page import="java.io.*,java.sql.*"%>

<%
String id=request.getParameter("id");
Class.forName("com.mysql.jdbc.Driver").newInstance();  
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306  /ksa","root","root");  
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("Select id,file_path,file_date from file12 where id like '"+id+"%'"); 
%>
<table cellpadding="15" border="1">
<%
while(rs.next()){
%>
<tr>
<td><%=rs.getString("id")%> </td>
<td><%=rs.getString("file_path")%> </td>
<td><%=rs.getString("file_date")%> </td>
</tr>
<%}%>
</table>

上面的代码将从数据库检索表到html表。

2 个答案:

答案 0 :(得分:1)

 <%@ page import="java.io.*,java.sql.*"%>
 <%
   String id=request.getParameter("id");
   Class.forName("com.mysql.jdbc.Driver").newInstance();  
   Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ksa","root","root");  
   Statement st=con.createStatement();
   ResultSet rs=st.executeQuery("Select id,file_path,file_date from file12 where id like '"+id+"%'"); 
   %>
  <table cellpadding="15" border="1">
  <%
    while(rs.next()){
  %>
  <tr>
    <td><a href="<%=rs.getString("file_path")%>"> click here to download the file with  id :<%=rs.getString("id")%> </a> </td>

    </tr>
 <%}%>
</table>

答案 1 :(得分:1)

如果rs.getString(“file_path”)返回一个路径是/home/Desktop/output/something.jpeg意味着你无法下载。因为当你点击给定的链接时肯定会显示PAGE NOT FOUND(404)异常

“&gt;点击此处下载文件

请注意您的网址

http://localhost:8080/prjname/home/Desktop/output/something.jpeg

所以在这种情况下我们可以将路径传递到一个servlet,通过这个servlet我们可以下载文件。