2012-05-08 6 views
0

データベーステーブルに格納されているパス(ローカルサーバーパス)でファイルをダウンロードしたい場合は、データベースをHTMLテーブルに表示するコード部分を実行しましたが、サーバーに格納されている出力フォルダからファイル(任意のタイプとサイズ)をダウンロードするには、テーブルをハイパーリンクする方法がありません。ここ は、JSPコードです: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テーブルにデータベースからテーブルを取得します。

+0

@Satya:最後の2つのコメントを投稿することができます、前の会話は削除されます – ksa

答えて

1

rs.getString(「FILE_PATH」)は、パスを返す場合/home/Desktop/output/something.jpegはあなたが与えられたリンクをクリックすると、確かにそれはページが見つかりませんが表示されますdownload.Becauseことができないことを意味しています(404)例外。

「>ファイルをダウンロードするにはこちらをクリックしてください

したがって、このような状況で、我々はこのサーブレットを通じて、1つのサーブレットへのパスを渡すことができ、それは

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

ようになりますあなたのURLに注意してください、私たちファイルをダウンロードすることができます

+0

はい私の友人iamは、u.letsによって提案されているようにサーブレットを使ってみるとうまくいくかどうかを確認します。 – ksa

+0

yaそのサーブレットを介して動作し、すべてのborwsersで正常に動作します – ksa

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> 
+0

ローカルサーバーのパスは、この 'http:\\ localhost:8080 \ add \ filename.doc' – Jeevi

+0

=それは動作していません、私はコードを変更しました。 – ksa

+0

は、rs.getString( "file_path")の値を表示できますか?私はdbに格納されているファイルパスを意味する? – Jeevi

関連する問題