《关于图片上传到服务器并保存到数据库然后读出显示到页面上的一系列例子》由会员分享,可在线阅读,更多相关《关于图片上传到服务器并保存到数据库然后读出显示到页面上的一系列例子(25页珍藏版)》请在金锄头文库上搜索。
1、关于图片上传到服务器并保存到数据库,然后读出显示到页面上的一系列例子http:/ 09:08:23)转 载 分类: JAVA一、addImg.jsp 类似网易邮箱的多附件上传,无刷新动态添加function addUploadFile()var _table = document.getElementByIdx(uploadTable);var rowIndex = _table.getElementsByTagName_r(tr).length-1;var _tr = _table.insertRow(rowIndex); var _td1 = _tr.insertCell(0);var _
2、td2 = _tr.insertCell(1);var _td3 = _tr.insertCell(2);_tr.bgColor = #E1E8F4;_tr.setAttribute(height,27);_tr.setAttribute(id,rowIndex.toString();_td1.setAttribute(width,15%);_td1.setAttribute(align,center);_td2.setAttribute(align,left);_td2.setAttribute(colspan,2);_td3.setAttribute(width,5%);var td1 =
3、 图片;var td2 = ;var td3 = ;_td1.appendChild(document.createTextNode(td1);_td2.appendChild(document.createElement(td2);_td3.appendChild(document.createElement(td3); function delUploadFile(fileIndex)if (confirm(确定要删除么?)var _table = document.getElementByIdx(uploadTable); _table.deleteRow(document.getEle
4、mentByIdx(fileIndex.toString().rowIndex);function submitPage()var form =document.getElementByIdx(form1);var flag=0;for(i=0;i上传文件信息对应文档 来自书目 开始页码图片 二、UploadImage.servlet doPost 方法/实例化上载 beancom.jspsmart.upload.SmartUpload mySmartUpload = new com.jspsmart.upload.SmartUpload();/初始化mySmartUpload.initial
5、ize(this.getServletConfig(),request,response);request.setCharacterEncoding(gbk);/设置上载的最大值mySmartUpload.setMaxFileSize(500 * 1024 * 1024);/上载文件try mySmartUpload.upload(); catch (SmartUploadException e) / TODO 自动生成 catch 块e.printStackTrace();/循环取得所有上载的文件for (int i = 0; i );/ out.println();/ out.printl
6、n(id);/ out.println();/ out.println( + M_EorrMenage + );/ out.println();try conn = DBConnection.newInstacne().getConnection();stmt = conn.createStatement();rs = stmt.executeQuery(SQLString); catch (SQLException ex) System.err.println(aq.executeUpdate: + ex.getMessage();M_EorrMenage = 对不起,数据库无法完成此操作!
7、;M_EorrMenage = new String(M_EorrMenage.getBytes(ISO8859_1), GBK);response.setContentType(text/html; charset=gb2312);/ out.println();/ out.println(no_database);/ out.println();/ out.println( + M_EorrMenage + );/ out.println();try if (rs.next() in = rs.getBinaryStream(pic);response.reset(); / 返回在流中被标
8、记过的位置response.setContentType(image/jpg); / 或 gif 等/ int len=in.available();/得到文件大小OutputStream toClient = response.getOutputStream();byte P_Buf = new bytelen;int i;while (i = in.read(P_Buf) != -1) toClient.write(P_Buf, 0, i);in.close();toClient.flush(); / 强制清出缓冲区rtoClient.close(); else M_EorrMenage
9、= 无此图片!;M_EorrMenage = new String(M_EorrMenage.getBytes(ISO8859_1),GBK);response.setContentType(text/html; charset=gb2312);/ out.println();/ out/ .println(this photo isnt/ have);/ out.println();/ out.println( + M_EorrMenage + );/ out.println();rs.close(); catch (Exception e) e.printStackTrace(); M_E
10、orrMenage = 无法读取图片!;M_EorrMenage = new String(M_EorrMenage.getBytes(ISO8859_1), GBK);response.setContentType(text/html; charset=gb2312);/ out/ .println();/ out.println();/ out.println(no photo);/ out.println();/ out.println( + M_EorrMenage + );/ out.println();try conn.close(); catch (SQLException e) e.printStackTrace();四、显示图片到页面上在任何想使用图片的页面上使用标签,并把 src 指向显示图片用的 servlet就可以PS:1.addImage 页面,form 的ENCTYPE=multipart/form-data必须这样设置才能正常使用 jspSmartUpload 组件进行上传,但是这样设置后,无法在下一个页面中通过 request.getParameter()获取参数,只能通过mySmartUpload.getRequest().getParameter(paraName)进行参数的获取