问题描述
麻烦帮忙看看哪里有错误啊~~万分感谢啊~数据库:createtabletest1(idchar(10),picimage,);插入图片代码如下:第一个页面,inputimage.jsp:<body><formmethod="post"action="testimage.jsp">图片:<inputtype="file"name="image"><br><inputtype="submit"></form></body>第二个页面,testimage.jsp:<body><%request.setCharacterEncoding("gb2312");Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");connectioncon=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student","sa","123");Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);Stringfilename=request.getParameter("image");FileInputStreamstr=newFileInputStream(filename);Stringsql="insertintotest1(id,pic)values(?,?)";Stringid="123"PreparedStatementpstmt=con.getPreparedStatement(sql);pstmt.setString(1,id);pstmt.setBinaryStream(2,str,str.available());pstmt.execute();out.println("Success!");%></body>
解决方案
解决方案二:
Stringfilename=request.getParameter("image");FileInputStreamstr=newFileInputStream(filename);你没有获得filename的文件你request.getParameter("image");只是一个字符串你拿他构造流就会失败因为文件不在你的服务端
解决方案三:
搞不懂,你如果把图片存入数据,那么请问你在取这张图片时你怎么取?你取的时候就会非常的麻烦...上传图片:数据库中都是只存图片在服务器上的相对路径!你这样把图片上传到哪了?你的逻辑存在问题!先把图片上传到服务器,数据库中只是存图片的路径。
解决方案四:
建议楼主,数据库可以存放图片在服务器的相对路径,图片存放在服务器上吧。这样软件的可复用性就比较好,比如跟换数据库。。
解决方案五:
一般应该是把文件存在硬盘里,然后把路径存在数据里吧。。这样才能谈效率吧。。。
解决方案六:
这样啊。。好吧。。麻烦哪位能给我个上传的代码么?就是把文件上传到服务器硬盘某个文件夹,然后存路径的代码。。。如果方便能把图片读取到网页上的代码贴出来也可以。。万分感谢啦~~正在学习jsp中。很多不懂的地方~谢谢啦~
解决方案七:
上传,那就看你用的什么jar包!
解决方案八:
该回复于2011-05-03 09:12:02被版主删除