问题描述
最近用jsp写一个博客系统但是在相册功能时遇到麻烦1、数据库存储的图片地址应该是什么呢?(我把图片导入了工程中的)2、上传图片没有任何显示代码如下:Servlet:publicvoidaddPhoto(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException,SQLException{StringfilePath="images/";Stringmessages="";Stringforward="";Stringhref="";PhotoDaophotoDao=newPhotoDao();PhotoBeanphotoBean=newPhotoBean();SmartUploadsu=newSmartUpload();longmaxsize=2*1024*1024;try{su.initialize(this.getServletConfig(),request,response);su.setMaxFileSize(maxsize);su.setAllowedFilesList("jpg,gif,bmp");su.upload();StringphotoInfo=su.getRequest().getParameter("info");if(photoInfo==null||photoInfo.equals("")){messages="请输入照片描述的信息!";forward="/error1.jsp";href="<ahref='javascript:window.history.go(-1)'>[返回]</a>";}else{com.jspsmart.upload.Filefile=su.getFiles().getFile(0);if(!file.isMissing()){StringphotoUrl=filePath+photoDao.queryMaxId()+"."+file.getFileExt();System.out.print(photoUrl);Datecur=newDate(newjava.util.Date().getTime());Stringtime=cur.toLocaleString();photoBean.setPhoto_url(photoUrl);photoBean.setPhoto_time(time);photoBean.setPhoto_info(photoInfo);booleanmark=photoDao.operationPhoto("upload",photoBean);if(mark){try{(file).saveAs(photoUrl,File.SAVEAS_VIRTUAL);messages="上传成功";forward="success.jsp";href="<ahref='PhotoUpload.jsp'>[继续上传]</a>";}catch(SmartUploadExceptionee){messages="上传文件失败!";forward="error1.jsp";href="<ahref='javascript:window.history.go(-1)'>[返回]</a>";ee.printStackTrace();}}else{messages="保存文件信息失败!";forward="error1.jsp";href="<ahref='javascript:window.history.go(-1)'>[返回]</a>";}}else{messages="请选择要上传的文件!";forward="error1.jsp";href="<ahref='javascript:window.history.go(-1)'>[返回]</a>";}}}catch(java.lang.SecurityExceptione){messages="<li>上传文件失败!上传文件类型只允许为:jpg,gif,bmp</li>";forward="error1.jsp";href="<ahref='javascript:window.history.go(-1)'>[返回]</a>";}catch(SmartUploadExceptione){messages="上传文件失败!";forward="error1.jsp";href="<ahref='javascript:window.history.go(-1)'>[返回]</a>";e.printStackTrace();}request.setAttribute("messages",messages);request.setAttribute("href",href);RequestDispatcherrequestDispatcher=request.getRequestDispatcher(forward);requestDispatcher.forward(request,response);}
Dao:publicbooleanoperationPhoto(Stringoperation,PhotoBeansingle)throwsSQLException{Stringsql="";/*if(operation.equals("delete"))sql="deletefromphotowhereid="+single.getPhoto_id();*/if(operation.equals("upload"))sql="insertintophoto(photo_url,photo_time,photo_info)values('"+single.getPhoto_url()+"','"+single.getPhoto_time()+"','"+single.getPhoto_info()+"')";booleanmark=connection.executeUpdate(sql);returnmark;}publicintqueryMaxId()throwsSQLException{//TODOAuto-generatedmethodstubStringsql="select*fromphotowhereid=6";ResultSetrs=connection.executeQuery(sql);inti=0;if(rs!=null){try{while(rs.next()){i++;}}catch(SQLExceptione){e.printStackTrace();}}returni+1;}
解决方案
解决方案二:
数据库中插入了图片的记录吗?如果插入了,肯定是取图片出了问题
解决方案三:
引用1楼Before_Morning的回复:
数据库中插入了图片的记录吗?如果插入了,肯定是取图片出了问题
没有插入图片记录我也不知道这个到底是怎么了没有任何反应。。。就一个空白页
解决方案四:
debug模式看看
解决方案五:
一般数据库保存图片地址,你保存的时候看有什么问题,debug看看,主要是图片路径问题