如果要存数据库的话,数据库存图片字段用blob形式的(照片:zp为例)。
而且不能直接存,在存之前zp字段先插入一个empty.BLOB(),
然后select ZP from 表 for update。再用输入流的形式写进去。
// 先检索出来字段,必须使用oracle的类:oracle.sql.BLOB
oracle.sql.BLOB blob = null;
if (rs.next())
{
blob = (oracle.sql.BLOB) rs.getBlob("ZP");
// 到数据库的输出流
OutputStream outStream = blob.getBinaryOutputStream();
// 将输入流写到输出流
byte[] b = new byte[blob.getBufferSize()];
int len = 0;
while ((len = is.read(b)) != -1)
{
outStream.write(b, 0, len);
// blob.putBytes(1,b);
}
is.close();
outStream.flush();
outStream.close();
}
以上的回答,回答得不是很全,所以我没看明白 要返回的图片类型呢,在页面展示的具体代表应该怎样写呢 求指导啊
这些代码都是需要在JSP中写的?
追答不是jsp, 是servlet
追问啊 ? 我只有JAVA类,SQLMAP和JSP啊 我是打算在JAVA里处理好了,到时候往页面展示的时候直接传个参数就OK啦,这样不能实现吗?
追答你就建个servlet呗, jsp输出二进制我还没试过, 要看看jsp的out对象有没有输出byte数组的方法了, 有的话应该没问题.
jsp的out是没有写二进制的方法的了, 看来只能用servlet, 建个servlet, 然后在web.xml配置一下路径就成了, servlet还不是java类?
那页面接收的时候怎样接收啊
追答敲个网址就接收了啊..跟jsp一样
追问不是不是那个意思啦 我的意思是如果用HttpServletResponse,那么接收的时候request.getAttribute("") 但是我不晓得这个参数名称到底是哪个
request.setCharacterEncoding("UTF-8");
response.setContentType("image/jpeg");
response.getOutputStream().write(bytes);
我是这样传过去的 在前台接收流的形式是怎样的 参数是什么
用JAVA怎样将保存在数据库BLOB类型的图片取出来转换为图片然后在页面展...
response.getOutputStream().write(bytes);这几个参数是把这个图片直接发给浏览器,说白了就直接把图片当成文件让浏览器下载。解决办法: localhost:8080是你配置WEB.XML Pic是你的Servlet类名。
怎样从数据库中调用blob图片 并把它显示在网页上
根据图片在数据库中的ID进行读取 param strID 图片字段ID param w 需要缩到的宽度 param h 需要缩到高度 return \/ public byte[] GetImgByteById(String strID, int w, int h){ \/\/System.out.println("Get img data which id is " + nID);if(myConnection == null)this.getConnection...
java 怎么把byte[]转换成图片显示在页面上
httpResponse.setHeader("Content-Type", "image\/jpeg");String sql = "SELECT * FROM User WHERE ID = 2";statement = connection.createStatement();resultSet = statement.executeQuery(sql);InputStream in = null;OutputStream out = httpResponse.getOutputStream();while (resultSet.next()) ...
java数据转换图片(java将图片转为字符串)
用JAVA怎样将保存在数据库BLOB类型的图片取出来转换为图片然后在页面展示啊呵呵,这个是没有办法接受哦。request.setCharacterEncoding("UTF-8");response.setContentType("image\/jpeg");response.getOutputStream().write(bytes);这几个参数是把这个图片直接发给浏览器,说白了就直接把图片当成文件让浏览...
数据库里存储的图片字段定义类型为blob,java里对应的类型为byte[],怎么...
1、读取图片数据testimageout.jsp文件 <%@ page contentType="text\/html;charset=gb2312"%> <%@ page import="java.sql.*" %> <%@ page import="java.util.*" %> <%@ page import="java.text.*" %> <%@ page import="java.io.*" %> < Class.forName("sun.jdbc.odbc.JdbcOdb...
在数据库中的表格里放了图片的地址,要在java程序的界面上面显示出图片...
在数据库中存在的只是一个地址,而并非“实质的图片”你要在java中显示这个图片,必须从数据库中找到这个“实质的图片”所在的位置,也就是地址 然后再引用就是了,比如放在jsp的div中
使用java语言操作,如何来实现MySQL中Blob字段的存取
param picID 要取的图片在数据库中的ID throws java.lang.Exception \/ public void blobRead(String outfile,int picID) throws Exception { FileOutputStream fos = null;InputStream is = null;byte[] Buffer = new byte[4096];try { Class.forName("org.gjt.mm.mysql.Driver").newInstance()...
java中 如何将存放在数据库中的pdf、doc、jpg等文件读出来(二进制形式...
java中读取 BLOB数据:首先做查询,拿到查询结果ResultSet rs = XXXX (和普通数据查询一样)然后:Blob blob = rs.getBlob("字段名"); 拿到你的Blob ,得到文件的二进制流:InputStream binaryStream= blob.getBinaryStream();,你的文件数据就在这个流当中,你想怎么用就怎么取,比如,读出来存到...
java数据库blob字段的下载(读取)
这是我以前写的代码,放在action里。图片在pojo类中对应为byte[]类型,clxxb是一个pojo类,clxxb.getClpic()得到图片对应的字节数组byte[]。其实输出文件就是输出一个字节流。希望对你有帮助。InputStream input=clxxb.getClpic().getBinaryStream();byte[] buffer=new byte[input.available()];Servl...
oracle 字段BOLB类型如何用java取出
ResultSet 对象的当前行中指定列的值。Blob getBlob(String columnLabel)以 Java 编程语言中 Blob 对象的形式获取此 ResultSet 对象的当前行中指定列的值。java.sql.Blob 有方法 InputStream getBinaryStream()以流的形式获取此 Blob 实例指定的 BLOB 值。得到的流,转成字符串,再使用 DOM 解析 ...