java通过commons-fileupload实现多张图片的上传(servlet)
生活随笔
收集整理的這篇文章主要介紹了
java通过commons-fileupload实现多张图片的上传(servlet)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//添加食品信息private void addProduct(HttpServletRequest request, HttpServletResponse response) throws IOException{PrintWriter out = response.getWriter();/*Date date=new Date();SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");String date1=format.format(date);String productName=request.getParameter("produceName");int typeid=Integer.parseInt(request.getParameter("typename"));String details=request.getParameter("details");Float price =Float.parseFloat(request.getParameter("price"));int stock=Integer.parseInt(request.getParameter("stock"));String fileName=request.getParameter("fileName");fileName="images_ganguo/"+fileName;ProductInfo product=new ProductInfo();product.setP_typeId(typeid);product.setProductName(productName);product.setPrice(price);product.setDetails(details);product.setStock(stock);product.setDate(date1);product.setFileName(fileName);int rel=proService.addProductInfo(product);if(rel>0){//添加商品成功之后轉發到查詢所有的商品界面out.print("<script>alert('恭喜您,添加商品成功!');location.href='ProductInfoServlet?tag=show';</script>");}else{out.print("<script>alert('很抱歉,添加商品失敗!');location.href='ProductInfoServlet?tag=show';</script>");}*/String typename="";//類型名稱String brand="";//品牌String produceName="";//商品名稱String details="";//商品詳情String price="";//價格int stock=0;//庫存request.setCharacterEncoding("utf-8");String uploadFileName="";//上傳的文件名(大圖)String uploadFileName1="";//上傳的文件名(小圖1)String uploadFileName2="";//上傳的文件名(小圖2)String uploadFileName3="";//上傳的文件名(小圖3)String uploadFileName4="";//上傳的文件名(小圖4)String fileName="";//表單字段元素的name屬性值String filedName="";String picPath="";//請求信息中的內容是否是multipart類型boolean isMultipart =ServletFileUpload.isMultipartContent(request);//上傳文件的存儲路徑(服務器文件系統上的絕對文件路徑)String uploadFilePath=request.getSession().getServletContext().getRealPath("upload/");if(isMultipart){FileItemFactory factory=new DiskFileItemFactory();ServletFileUpload upload=new ServletFileUpload(factory);try{//解析from表單中所有文件List<FileItem> items=upload.parseRequest(request);Iterator<FileItem> iter=items.iterator();while(iter.hasNext()){FileItem item=(FileItem)iter.next();if(item.isFormField()){//判斷,是普通表單fileName=item.getFieldName();//表單字段的name屬性if(fileName.equals("typename")){typename=item.getString("utf-8");}else if(fileName.equals("brand")){brand=item.getString("utf-8");}else if(fileName.equals("produceName")){produceName=item.getString("utf-8");}else if(fileName.equals("details")){details=item.getString("utf-8");}else if(fileName.equals("price")){price=item.getString("utf-8");}else if(fileName.equals("stock")){stock=Integer.parseInt(item.getString("utf-8"));}}else{//文件表單字段//表單字段的name屬性fileName=item.getFieldName();if(fileName.equals("bigfile")){filedName=item.getName();if(fileName!=null&&!filedName.equals("")){File fullFile=new File(item.getName());File saveFile=new File(uploadFilePath,fullFile.getName());item.write(saveFile);uploadFileName=fullFile.getName();//ServletContext application=this.getServletContext();picPath=saveFile.toString();}}else if(fileName.equals("smallfile1")){filedName=item.getName();if(fileName!=null&&!filedName.equals("")){File fullFile=new File(item.getName());File saveFile=new File(uploadFilePath,fullFile.getName());item.write(saveFile);uploadFileName1=fullFile.getName();//ServletContext application=this.getServletContext();picPath=saveFile.toString();}}else if(fileName.equals("smallfile2")){filedName=item.getName();if(fileName!=null&&!filedName.equals("")){File fullFile=new File(item.getName());File saveFile=new File(uploadFilePath,fullFile.getName());item.write(saveFile);uploadFileName2=fullFile.getName();//ServletContext application=this.getServletContext();picPath=saveFile.toString();}}else if(fileName.equals("smallfile3")){filedName=item.getName();if(fileName!=null&&!filedName.equals("")){File fullFile=new File(item.getName());File saveFile=new File(uploadFilePath,fullFile.getName());item.write(saveFile);uploadFileName3=fullFile.getName();//ServletContext application=this.getServletContext();picPath=saveFile.toString();}}}}}catch(Exception ex){ex.printStackTrace();}Date date=new Date();SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");String date1=format.format(date);ProductInfo product=new ProductInfo();int typeid=Integer.parseInt(typename);product.setP_typeId(typeid);product.setProductName(produceName);float price1=Integer.parseInt(price);product.setPrice(price1);product.setDetails(details);product.setStock(stock);product.setDate(date1);product.setFileName("upload/"+uploadFileName);product.setFileName_1("upload/"+uploadFileName1);product.setFileName_2("upload/"+uploadFileName2);product.setFileName_3("upload/"+uploadFileName3);int rel=proService.addProductInfo(product);if(rel>0){//添加商品成功之后轉發到查詢所有的商品界面out.print("<script>alert('恭喜您,添加商品成功!');location.href='ProductInfoServlet?tag=show';</script>");}else{out.print("<script>alert('很抱歉,添加商品失敗!');location.href='ProductInfoServlet?tag=show';</script>");}}}
總結
以上是生活随笔為你收集整理的java通过commons-fileupload实现多张图片的上传(servlet)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黄磊演的电视剧有哪些 黄磊演的电视剧列述
- 下一篇: 如何查询手机新旧