mysql数据库连接测试成功,但进入页面就无法显示图片,
<%@page import="ytl.DBUtil"%><%@ page contentType="text/html; charset=gbk" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*, javax.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.math.*"%>
<%@ page import="ytl.*"%>
<%
String number = request.getParameter("number");
String type = request.getParameter("type");
if(type != null){
if(type.equals("mstx_image")){
OutputStream outs = null;
try{
ArrayList<MSTXImage> myMSTXImages = DBUtil.getMSTXImage(Integer.parseInt(number));
if(!myMSTXImages.isEmpty()){
MSTXImage mi = myMSTXImages.get(0);
Blob b = mi.getB();
long size = b.length();
byte[] bs = b.getBytes(1, (int)size);
/*
System.out.println(bs.length+"=============");
int c = 0;
for(int i=0; i<bs.length; i++){
System.out.print(bs[i]);
if(c == 9){
System.out.println();
}
c = (c+1)%10;
}
*/
response.setContentType("image/jpeg");
if(outs == null){
outs = response.getOutputStream();//得到流
}
outs.write(bs);//输出
outs.flush();
out.clear();//必须加上,否则会异常
out = pageContext.pushBody();
}
}
catch(Exception e){//捕获异常
e.printStackTrace();//打印异常
}
finally{//关闭
try{
if(outs != null){
outs.close();//关闭流
outs = null;
}
}
catch(Exception e){//捕获异常
e.printStackTrace();//打印异常
}
}
}
else if(type.equals("mstx_ads_image")){//显示管理界面广告
OutputStream outs = null;
try{
Blob myMSTXImages = DBUtil.getMstxAdsImageByGpid(Integer.parseInt(number));
long size = myMSTXImages.length();
byte[] bs = myMSTXImages.getBytes(1, (int)size);
response.setContentType("image/jpeg");
if(outs == null){
outs = response.getOutputStream();//得到流
}
outs.write(bs);//输出
outs.flush();
out.clear();//必须加上,否则会异常
out = pageContext.pushBody();
}
catch(Exception e){//捕获异常
e.printStackTrace();//打印异常
}
finally{//关闭
try{
if(outs != null){
outs.close();//关闭流
outs = null;
}
}
catch(Exception e){//捕获异常
e.printStackTrace();//打印异常
}
}
}
else if(type.equals("mstx_head")){//显示头像
OutputStream outs = null;
try{
ArrayList<MSTXHeadImage> myMSTXImages = DBUtil.getHeadImage(Integer.parseInt(number));
if(!myMSTXImages.isEmpty()){
MSTXHeadImage mi = myMSTXImages.get(0);
Blob b = mi.getB();
long size = b.length();
byte[] bs = b.getBytes(1, (int)size);
response.setContentType("image/jpeg");
if(outs == null){
outs = response.getOutputStream();//得到流
}
outs.write(bs);//输出
outs.flush();
out.clear();//必须加上,否则会异常
out = pageContext.pushBody();
}
}
catch(Exception e){//捕获异常
e.printStackTrace();//打印异常
}
finally{//关闭
try{
if(outs != null){
outs.close();//关闭流
outs = null;
}
}
catch(Exception e){//捕获异常
e.printStackTrace();//打印异常
}
}
}
}
%>
数据库nullimportexceptionbyte
<%@page import="ytl.DBUtil"%><%@ page contentType="text/html; charset=gbk" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*, javax.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.math.*"%>
<%@ page import="ytl.*"%>
<%
String number = request.getParameter("number");
String type = request.getParameter("type");
if(type != null){
if(type.equals("mstx_image")){
OutputStream outs = null;
try{
ArrayList<MSTXImage> myMSTXImages = DBUtil.getMSTXImage(Integer.parseInt(number));
if(!myMSTXImages.isEmpty()){
MSTXImage mi = myMSTXImages.get(0);
Blob b = mi.getB();
long size = b.length();
byte[] bs = b.getBytes(1, (int)size);
/*
System.out.println(bs.length+"=============");
int c = 0;
for(int i=0; i<bs.length; i++){
System.out.print(bs[i]);
if(c == 9){
System.out.println();
}
c = (c+1)%10;
}
*/
response.setContentType("image/jpeg");
if(outs == null){
outs = response.getOutputStream();//得到流
}
outs.write(bs);//输出
outs.flush();
out.clear();//必须加上,否则会异常
out = pageContext.pushBody();
}
}
catch(Exception e){//捕获异常
e.printStackTrace();//打印异常
}
finally{//关闭
try{
if(outs != null){
outs.close();//关闭流
outs = null;
}
}
catch(Exception e){//捕获异常
e.printStackTrace();//打印异常
}
}
}
else if(type.equals("mstx_ads_image")){//显示管理界面广告
OutputStream outs = null;
try{
Blob myMSTXImages = DBUtil.getMstxAdsImageByGpid(Integer.parseInt(number));
long size = myMSTXImages.length();
byte[] bs = myMSTXImages.getBytes(1, (int)size);
response.setContentType("image/jpeg");
if(outs == null){
outs = response.getOutputStream();//得到流
}
outs.write(bs);//输出
outs.flush();
out.clear();//必须加上,否则会异常
out = pageContext.pushBody();
}
catch(Exception e){//捕获异常
e.printStackTrace();//打印异常
}
finally{//关闭
try{
if(outs != null){
outs.close();//关闭流
outs = null;
}
}
catch(Exception e){//捕获异常
e.printStackTrace();//打印异常
}
}
}
else if(type.equals("mstx_head")){//显示头像
OutputStream outs = null;
try{
ArrayList<MSTXHeadImage> myMSTXImages = DBUtil.getHeadImage(Integer.parseInt(number));
if(!myMSTXImages.isEmpty()){
MSTXHeadImage mi = myMSTXImages.get(0);
Blob b = mi.getB();
long size = b.length();
byte[] bs = b.getBytes(1, (int)size);
response.setContentType("image/jpeg");
if(outs == null){
outs = response.getOutputStream();//得到流
}
outs.write(bs);//输出
outs.flush();
out.clear();//必须加上,否则会异常
out = pageContext.pushBody();
}
}
catch(Exception e){//捕获异常
e.printStackTrace();//打印异常
}
finally{//关闭
try{
if(outs != null){
outs.close();//关闭流
outs = null;
}
}
catch(Exception e){//捕获异常
e.printStackTrace();//打印异常
}
}
}
}
%>
数据库nullimportexceptionbyte
给你一个读取图片显示的代码;你自己去看看整理到自己的代码中;你的代码真的不想看。。ServletOutputStream out = response.getOutputStream();
InputStream input = “数据库查询出的image”;
int i = 0;
while ((i = input.read()) != -1) {
out.write(i);
}
out.flush();
out.close(); 页面显示的时候<img src="指向这个方法的地址">
存储图片;应该将图片上传到服务器的某个目录下面。然后再tomcat中配置映射。访问图片;不赞成直接保存在项目的某个目录。原因和各种不方便 你懂得