<%@ page contentType="text/html;charset=gb2312"%> 
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<html> 
<body> 
<%
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test1", "root", "123456");
Statement stmt=con.createStatement(); 
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");
FileInputStream str=new FileInputStream(filename);
String sql="insert into picturenews(content,image,id) values(?,?,0)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,content);
pstmt.setBinaryStream(2,str,str.available());
pstmt.execute();
out.println("Success,You Have Insert an Image Successfully");
%>
程序运行过程中出现
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: An exception occurred processing JSP page /testimage.jsp at line 2017: String filename=request.getParameter("image");
18: filename=new String(filename.getBytes("8859_1"),"gb2312");
19: //获得所要显示图片的标题、存储路径、内容,并进行中文编码
20: FileInputStream str=new FileInputStream(filename);
21: String sql="insert into picturenews(content,image,id) values(?,?,0)";
22: PreparedStatement pstmt=con.prepareStatement(sql);
23: pstmt.setString(1,content);抛出的异常是
严重: Servlet.service() for servlet jsp threw exception
java.io.FileNotFoundException: car.jpg (系统找不到指定的文件。)
我上传的是一张car.jpg图片存储到mysql 但是 还没进行数据库操作之前就在
FileInputStream str=new FileInputStream(filename);出错了

解决方案 »

  1.   

    String filename=request.getParameter("image");
    这里出错了,你获取图片方法不对。
      

  2.   


    知道 ,但是我想测试一下 mysql 里面图片处理 blob字段的使用
      

  3.   


    那怎么获取图片呢了。这句话 <INPUT TYPE="file" NAME="image">是确定图片的位置难道错了?
      

  4.   

    你是把图片放到数据库中?这不很麻烦吗?
    首先你要使用文件流去读取图片,然后把字节流存入数据库!
    取出这张图片的时候,你又去读取字节流重新写入文件!
    这样一来,你认为麻烦吗?我认为非常麻烦
    简单的方法就是上传图片时把图片存到服务器上,
    数据库中存储图片在服务器上的相对路径,
    那么在取出来的时候就直接写路径,就OK了。上传图片那么在表单中要加上enctype="multipart/form-data",
    而且用request.getParameter()是获取不到表单里的内容的。