我的这两段代码是插入和显示的,可是显示的时候,总是图片显示不正确(一个X)...我不清楚是不是我的代码有问题啊,或者是请高手指点一下,有没有更好的代码..谢谢大家,帮帮我吧.insert.jsp
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*,java.util.*,java.text.*,java.io.*,com.sun.image.codec.jpeg.*" %>
<jsp:useBean id="db" class="DBObject.Conn" scope="request"/>
<%
String content = request.getParameter("content");
content=new String(content.getBytes("8859_1"),"gb2312");
String filename = request.getParameter("image");
filename = new String(filename.getBytes("8859_1"),"gb2312");
String detail=request.getParameter("txtmail");
detail=new String(detail.getBytes("8859_1"),"gb2312");
FileInputStream str = new FileInputStream(filename);
//String sql = "insert into image(caption,content,image) values('"+content+"','"+detail+"','"+str+"')";
String sql = "insert into image(content,detail,image) values(?,?,?)"; Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/newsissuance?user=root&password=");
PreparedStatement pstmt=conn.prepareStatement(sql);
//pstmt.setInt(1,1);
pstmt.setString(1,content);
pstmt.setString(2,detail);
pstmt.setBinaryStream(3,str,(int)filename.length());
pstmt.executeUpdate();
out.print(sql);
%>show.jsp<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.sql.*, javax.sql.*,java.math.*"%><%
//String photo_no = request.getParameter("photo_no");
String url="jdbc:mysql://localhost:3306/newsissuance?user=root&password=";
Connection conn = DriverManager.getConnection(url);
try
{
Statement stmt = conn.createStatement();
//String sql = "select * from image where id = "+ photo_no;
String sql = "select * from image where id = 2";
ResultSet rs = stmt.executeQuery(sql); if (rs.next())
{
Blob b = rs.getBlob("image");
long size = b.length();
//out.print(size);
byte[] bs = b.getBytes(1, (int)size);
response.setContentType("image/jpeg");
OutputStream outs = response.getOutputStream();
outs.write(bs);
outs.flush();
rs.close();
}
else
{
rs.close();
//response.sendRedirect("./images/error.gif");
}
}
finally
{
conn.close();
}
%>
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*,java.util.*,java.text.*,java.io.*,com.sun.image.codec.jpeg.*" %>
<jsp:useBean id="db" class="DBObject.Conn" scope="request"/>
<%
String content = request.getParameter("content");
content=new String(content.getBytes("8859_1"),"gb2312");
String filename = request.getParameter("image");
filename = new String(filename.getBytes("8859_1"),"gb2312");
String detail=request.getParameter("txtmail");
detail=new String(detail.getBytes("8859_1"),"gb2312");
FileInputStream str = new FileInputStream(filename);
//String sql = "insert into image(caption,content,image) values('"+content+"','"+detail+"','"+str+"')";
String sql = "insert into image(content,detail,image) values(?,?,?)"; Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/newsissuance?user=root&password=");
PreparedStatement pstmt=conn.prepareStatement(sql);
//pstmt.setInt(1,1);
pstmt.setString(1,content);
pstmt.setString(2,detail);
pstmt.setBinaryStream(3,str,(int)filename.length());
pstmt.executeUpdate();
out.print(sql);
%>show.jsp<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.sql.*, javax.sql.*,java.math.*"%><%
//String photo_no = request.getParameter("photo_no");
String url="jdbc:mysql://localhost:3306/newsissuance?user=root&password=";
Connection conn = DriverManager.getConnection(url);
try
{
Statement stmt = conn.createStatement();
//String sql = "select * from image where id = "+ photo_no;
String sql = "select * from image where id = 2";
ResultSet rs = stmt.executeQuery(sql); if (rs.next())
{
Blob b = rs.getBlob("image");
long size = b.length();
//out.print(size);
byte[] bs = b.getBytes(1, (int)size);
response.setContentType("image/jpeg");
OutputStream outs = response.getOutputStream();
outs.write(bs);
outs.flush();
rs.close();
}
else
{
rs.close();
//response.sendRedirect("./images/error.gif");
}
}
finally
{
conn.close();
}
%>
解决方案 »
- jdbc链接sql2000
- 求排序方法!
- JasperReport+iReport做的报表以PDF方式显示的时候没有内容,请教怎么回事呀,急急急
- 有经验的朋友们:关于小型电子商务网站架构,多给些建议吧!
- Struts2 树节点 链接
- 请问用时间函数算出现在距离奥运会开幕(2008-08-08)还有多少天?谢谢了
- 请教Session Bean <-> DAO <-> jdbc <-> DB
- jsp页面表单提交后原来域的值能保留吧,望指点一下。
- 关于tomcat的设置问题
- jdk1.4连接数据库如何配置环境???
- 走神,没有听到到这个星号是什么意思...<jsp:setProperty name="bean0" property="*" />
- spring一个问题非常感谢
catch(Excaption e)
{
e.PrintStackTrace();
}
捕捉一下错误,看看有上面错误信息没有?
InputStream in = photo.getBinaryStream();
OutputStream out = response.getOutputStream();
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) != -1) {
out.write(buf, 0, len);
}
in.close();
out.close();