CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

jsp读取oracle数据库中blob字段生成图形文件的问题。

楼主kelly119(迷)2003-11-03 23:16:31 在 Java / Web 开发 提问

jsp访问oracle数据库正常!  
   
  jsp代码如下:      
     
  <%@     page     contentType="text/html;     charset=gb2312"     language="java"     import="java.sql.*"     %>      
  <%@     page     import="java.util.*"%>      
  <%@     page     import="java.io.*"%>      
  <%@     page     import="javax.servlet.*"%>      
  <%@     page     import="javax.servlet.http.*"%>      
     
  ............      
     
  <%      
  String     filepath="C:\\temp.bmp";      
  FileOutputStream     fileOutStream     =     null;          
  InputStream     inStream     =     null;      
     
  //读出流用getBinaryStream()方法。          
  inStream     =     rs.getBinaryStream(1);          
  //图片的有效长度。          
  int     size     =     inStream.available();          
                             
  byte[]     pictureData     =     new     byte[size];          
  //读取输入流的数据到指定的数组。只是文件的有效部分。          
  inStream.read(pictureData);          
  try     {          
        //将图片文件输出到指定目录。      
        fileOutStream     =     new     FileOutputStream(filepath);          
        //写入数据。          
        for(int     i=0;i<pictureData.length;i++){      
                fileOutStream.write(pictureData[i]);      
        }      
  }      
  catch(Exception     e)      
        {          
                System.err.println("Error:     "     +     e.toString());          
        }      
                                                     
  fileOutStream.close();          
     
  %>      
     
  执行过程中没有错误,然而打开C:\temp.bmp文件不能显示图片,是白板?  
  看temp.bmp属性,无论数据库中图片大小为多少,temp.bmp文件大小都是256byte,占用空间正常,奇怪!int     size     =     inStream.available();   不对吗?  
  请各位帮忙看看! 问题点数:50、回复次数:3Top

1 楼sgdb(神天月晓)回复于 2003-11-03 23:47:08 得分 0

int     size     =   (int)   inStream.available();          
     
  byte[]     pictureData     =     new     byte[size];          
  //读取输入流的数据到指定的数组。只是文件的有效部分。          
  inStream.read(pictureData,0,size);      
  inStream.close();      
  try     {          
        //将图片文件输出到指定目录。      
        fileOutStream     =     new     FileOutputStream(filepath);          
        //写入数据。          
          fileOutStream.write(pictureData);  
        }      
  }      
  catch(Exception     e)      
        {          
                System.err.println("Error:     "     +     e.toString());          
        }      
                                                     
  fileOutStream.close();          
  Top

2 楼kelly119(迷)回复于 2003-11-04 16:33:00 得分 0

to   sgdb(神天月晓)  
  还是不行啊!  
  我在  
  int     size     =   (int)   inStream.available();  
  后加一句  
  out.println(size);  
  输出还是255。Top

3 楼sgdb(神天月晓)回复于 2003-11-04 19:33:30 得分 50

inStream     =     rs.getBlob("图片的字段名").getBinaryStream();Top

相关问题

  • 在Oracle中写BLOB字段
  • 如何在ORACLE中保存BLOB字段
  • 用 ADO 对 Oracle blob 字段读写
  • oracle中blob字段写入问题
  • ★★★Oracle BLOB字段的读问题★★★
  • Oracle中BLOB字段的读取问题
  • Postgres里有没有象Oracle的Blob这种字段,是什么字段?
  • 请教各位:jsp读oracle long字段时发生错误
  • jsp显示oracle中varchar2类型字段 在线等待
  • 用jsp写Oracle里的clob型字段的问题,求救!!!

关键词

  • 文件
  • 数据库
  • jsp
  • instream
  • fileoutstream
  • picturedata
  • 图片
  • bmp
  • available
  • temp

得分解答快速导航

  • 帖主:kelly119
  • sgdb

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo