全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1503
推到 Plurk!
推到 Facebook!

JSP提取Oracle中BLOB数据生成图片的问题

尚未結案
dsyyybw
一般會員


發表:16
回覆:24
積分:8
註冊:2003-01-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-01 17:02:57 IP:218.31.xxx.xxx 未訂閱
我的JSP页面从Oracle数据库中读取BLOB字段的数据生成一个图片文件,然后在网页中显示它。代码如下:
<%
SQL = "SELECT XP FROM TRJC02 where zgbh='" myZGBH "'";
ResultSet Recordset2 = myBean.executeQuery(SQL);
boolean HavePhoto = Recordset2.next();
if(HavePhoto)
{
  FileOutputStream file = null;
  byte[] bytes;
  bytes = Recordset2.getBytes(1);
  try
  {
    file = new FileOutputStream ("c:\\phtemp");
    file.write(bytes);
  }
  catch (Exception e)
  {
    String err = e.toString();
    System.out.println(err);
  }
  finally
  {
    if(file != null)
    {
       file.close();
    }                
  }
%>
  [img]file:///c://phtemp"> 
<% 
  }
  else
  {
%>
  [img]../pic/d26.gif"> 
<%
  }
%>
这段代码会读出数据后在客户端的 C:\下生成一个临时的“phtemp”文件,页面会显示该图片(照片), 我的服务器用的是TOMCAT4.1.2,自己本机显示正常,但是用其它计算机访问时,图片就显示不出来(在C盘根本就没有生成任何文件)。
我就不明白了,如果是JSP不能在客户端写文件的话,那我本机访问时也应该写不了文件才对。
本机访问方式如:“http://10.79.10.10/testphoto.jsp”
请教有经验的朋友,该如何解决这个问题。
發表人 - dsyyybw 於 2003/12/01 17:14:49
------
读书永远也不晚
dsyyybw
一般會員


發表:16
回覆:24
積分:8
註冊:2003-01-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-01 17:18:08 IP:218.31.xxx.xxx 未訂閱
实在对不起版主,我的帖子中的代码有的HTML标签显示不正确,不过大致意思应该还是能看明白。 读书永远也不晚
------
读书永远也不晚
pipp
一般會員


發表:2
回覆:21
積分:9
註冊:2003-10-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-02 09:23:58 IP:61.220.xxx.xxx 未訂閱
首先先解釋一下,JSP (Java Server Page)是在伺服器端的程式, 所以你的java code都是在Server端執行,也就是你的圖片檔都是產生在 Server端C:,因此你在本機端執行 image src="c://xxx" 是沒有問題 由於圖片在Server端的C:,所以使用其他client瀏覽就會找不到了阿.. 如果你一定要這樣做,可以產生在tomcat的webapp路徑底下, 在HTML使用相對路徑表示 image src="../xxx.gif" 發表人 - pipp 於 2003/12/02 09:25:18
dsyyybw
一般會員


發表:16
回覆:24
積分:8
註冊:2003-01-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-03 17:15:16 IP:218.31.xxx.xxx 未訂閱
呵呵,我现在也正是这样解决的。不过中间又遇到了新的问题,在服务器端生成了图片,客户端调用,由于IE有网页缓存机制,导致在浏览第二个人的照片时还显示的第一个人的,这是因为生成的图片使用了相同的文件名,页面刷新后对于相同文件名的图片,客户端的临时文件夹中下载的有,所以就直接显示了出来,本来是微软用来提高网页浏览速度的技术,现在反而成了我的障碍。 在没有办法的情况下,我只好用随机数的方式每次生成不同文件名的图片,这样倒是可以用了。不过用户需要定时的删除服务器上的这些临时文件,以免占用太多的磁盘空间。 在此感谢 pipp 的热心回答。 读书永远也不晚 發表人 - dsyyybw 於 2003/12/03 17:17:16
------
读书永远也不晚
系統時間:2024-05-09 18:28:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!