JSP显示图片!急!!!!高分 是在ACCESS中用OLE字段类型存储的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <%@ page contentType="text/html; charset=gb2312"%><%@ include file="/DataIni/DataOpen.jsp"%><%@ include file="/ScriptLib/Init.jsp"%><% String Id; Id=request.getParameter("Id"); odbcQuery="select * from Dot where ID="+Id; odbcRs=odbcStmt.executeQuery(odbcQuery); byte[] Buffer=new byte[1024*10]; InputStream InData=null; OutputStream outData=null; int iSize; if(odbcRs.next()) { outData=response.getOutputStream(); InData=odbcRs.getBinaryStream("OLEFile"); response.setContentType("image/*"); while(true) { iSize=InData.read(Buffer); if(iSize==-1) { break; } outData.write(Buffer,0,iSize); } outData.flush(); response.flushBuffer(); } odbcRs.close();%><%@ include file="/DataIni/DataClose.jsp"%> 数据库中有图片吗?<%@ page import="java.sql.*"%><%@ page import="java.util.*"%><%@ page import="java.io.*"%><%@ page import="java.text.*"%><%@ page import="SessionCount.SessionCounter"%><% String odbcQuery; Connection odbcConn; Statement odbcStmt; Statement odbcStmtExtend; Statement odbcStmtPage; Statement odbcStmtUpdate; ResultSet odbcRs; ResultSet odbcRsExtend; ResultSet odbcRsPage; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); odbcConn=DriverManager.getConnection("jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=F:\\Db_ColligateStatistic\\ColligateStatistic.mdb;","admin",""); odbcStmt=odbcConn.createStatement(); odbcStmtExtend=odbcConn.createStatement();odbcStmtPage=odbcConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); odbcStmtUpdate=odbcConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); request.setCharacterEncoding("gb2312");%> 如果是在本机运行,可能需要把url中的机器名改为ip地址 数据库中有图片。url中的机器名也改为ip地址了,还是不行啊 直接在浏览器运行showpic.jsp文件,如果不报错的话,会有提示保存,打开的对话框,点保存将文件保存为jpg格式的文件,然后看保存的文件是否跟图片一样大,是否能在ie中打开 将showpic.jsp文件中的<%@ page contentType="text/html; charset=gb2312"%>改成:<%@ page contentType="image/jpeg; charset=gb2312"%> 放置一个image,把scr设为showpic.jsp吧 是不是把整个BUFFER都作为图片数据读出来了? 把while(true)去掉可以取出来实际的文件,但是文件大小好象少了点,为什么啊 不对吧,应该是<%@include file="showpic.jsp"%>这样肯定有图片 TO:wucrcsdn(阿荣) 还是不行啊 用文件大小代替10k缓存区看看 resultset = stmt.executeQuery(s); InputStream InData=null; OutputStream outData=null; int iSize; if(resultset.next()) { outData=response.getOutputStream(); InData=resultset.getBinaryStream("pic"); int len=InData.available(); byte[] Buffer=new byte[len]; response.setContentType("image/*"); while(true) { iSize=InData.read(Buffer); if(iSize==-1) { break; } outData.write(Buffer,0,iSize); } outData.flush(); response.flushBuffer(); } resultset.close(); 参考http://www.java-cn.com/technology/technology_detail.jsp?id=2844 to: shijainbo还是不行,我也怀疑不是代码的问题现在主要问题是每次取出的数据大小都是一样的,不管数据库中的图片有多大 发现一个问题,我的显示提示下载图片,然后我先保存成*.jsp的文件,再改后缀成.jpg时候,能显示图片,但是保存时直接改后缀的时候又没有图片啦! 各位大哥大姐!谁能给我们这些大菜鸟讲讲怎样把图片存入到Access里面去啊,我搞了好久都不行啊。救命啊! TO:xiongzai(熊仔)还有同病相怜的啊有空一块讨论吧,我的QQ:86825951 一个中文乱码问题我第一次遇到,郁闷,求大仙。。。 jfreechart时序图刻度值如何纵向显示 寻求一spring与xfire结合的例子! 数据库连接 Struts中html:select的问题 一个页面由两个不同的页面组成,如何在一个页面控制另一个页面的层 怎么用java技术在网页中出现一个下拉菜单? 我创建的oracle数据库怎么这么大? 工资调查,请同行们报出你们的工资!我不提成(:呵呵! struts最新的漏洞补好了么 Connection refused这是什么错误? 初学,用户登录问题。
<%@ include file="/DataIni/DataOpen.jsp"%>
<%@ include file="/ScriptLib/Init.jsp"%>
<%
String Id;
Id=request.getParameter("Id");
odbcQuery="select * from Dot where ID="+Id;
odbcRs=odbcStmt.executeQuery(odbcQuery); byte[] Buffer=new byte[1024*10];
InputStream InData=null;
OutputStream outData=null;
int iSize;
if(odbcRs.next())
{
outData=response.getOutputStream();
InData=odbcRs.getBinaryStream("OLEFile");
response.setContentType("image/*");
while(true)
{
iSize=InData.read(Buffer);
if(iSize==-1)
{
break;
}
outData.write(Buffer,0,iSize);
}
outData.flush();
response.flushBuffer();
}
odbcRs.close();
%>
<%@ include file="/DataIni/DataClose.jsp"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.text.*"%>
<%@ page import="SessionCount.SessionCounter"%>
<%
String odbcQuery;
Connection odbcConn;
Statement odbcStmt;
Statement odbcStmtExtend;
Statement odbcStmtPage;
Statement odbcStmtUpdate;
ResultSet odbcRs;
ResultSet odbcRsExtend;
ResultSet odbcRsPage;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
odbcConn=DriverManager.getConnection("jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=F:\\Db_ColligateStatistic\\ColligateStatistic.mdb;","admin","");
odbcStmt=odbcConn.createStatement();
odbcStmtExtend=odbcConn.createStatement();
odbcStmtPage=odbcConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
odbcStmtUpdate=odbcConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
request.setCharacterEncoding("gb2312");
%>
<%@ page contentType="text/html; charset=gb2312"%>
改成:
<%@ page contentType="image/jpeg; charset=gb2312"%>
这样肯定有图片
还是不行啊
resultset = stmt.executeQuery(s);
InputStream InData=null;
OutputStream outData=null;
int iSize;
if(resultset.next())
{
outData=response.getOutputStream();
InData=resultset.getBinaryStream("pic");
int len=InData.available();
byte[] Buffer=new byte[len];
response.setContentType("image/*");
while(true)
{
iSize=InData.read(Buffer);
if(iSize==-1)
{
break;
}
outData.write(Buffer,0,iSize);
}
outData.flush();
response.flushBuffer();
}
resultset.close();
还是不行,我也怀疑不是代码的问题
现在主要问题是每次取出的数据大小都是一样的,不管数据库中的图片有多大
谁能给我们这些大菜鸟讲讲怎样把图片存入到Access里面去啊,
我搞了好久都不行啊。救命啊!
还有同病相怜的啊
有空一块讨论吧,我的QQ:86825951