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>");}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaweb项目搭建ehcache缓存系统

转载自 javaweb项目搭建ehcache缓存系统EhCache 是一个纯Java的进程内缓存框架&#xff0c;具有快速、精干等特点&#xff0c;是Hibernate中默认的CacheProvider&#xff0c;同时在项目开发中也被广泛使用到。接下来就以用户缓存为例&#xff0c;基于javaweb项目来搭建ehcache…

微服务架构之外的选择——基于服务架构

来自ThoughtWorks的主管Neal Ford在最近的一次演讲中表达了他对企业软件系统架构转型的看法&#xff0c;他认为从单体架构转向基于服务的架构要比转向微服务架构来得容易。Ford在UberConf 2016大会上做了一次关于基于服务架构的演讲&#xff0c;基于服务架构是介于面向服务架构…

html5中 save方法,如何HTML5画布另存为窗口8 Metro应用中的图像文件?(How to save html5 c...

var myImage canvas.toDataURL("image/png");我认为myImage在现在png格式如何保存编码的图像字节myImage作为一个文件(图片文件夹)&#xff1f;Answer 1:而不是使用的.toDataUrl &#xff0c;你需要使用.msToBlob &#xff1a;var blob canvas.msToBlob();然后&…

系统架构师8

软考——系统架构设计师工作日志 《E:\Myproject\利亚德\x系统架构设计师\系统架构设计师工作日志.txt》 系统架构设计师 ok --》主要信息 官方&#xff1a; 人事考试服务频道.mht http://www.bjld.gov.cn/bjpta/ 北京人事考试 http://www.bjld.g…

Autofac 之 基于 Castle DynamicProxy2 的 Interceptor 功能

Autofac 结合 Castle DynamicProxy2 功能 Autofac 不仅作为轻量级高效的 IoC 容器&#xff0c;而且还能很好的与 Castle.DynamicProxy2 结合起来&#xff0c;实现 AOP 功能。 首先&#xff0c;我们需要定义拦截器&#xff0c;简单的定义可实现 Castle.DynamicProxy.IIntercepto…

类和对象运行时在内存里是怎么样的?各种变量、方法在运行时是怎么交互的?

转载自 类和对象运行时在内存里是怎么样的&#xff1f;各种变量、方法在运行时是怎么交互的&#xff1f;在回答这个问题之前先了解一下Java的一些基础知识。我们知道Java程序运行在虚拟机环境里&#xff0c;那我们先看一下虚拟机的大致内存结构。如下图所示&#xff0c;虚线框…

java通过commons-fileupload实现多张图片的上传(jsp页面)

<div id"middle"><div id"form"><form action"ProductInfoServlet?tagadd" method"post" enctype"multipart/form-data" ><h2>三只松鼠--新增</h2><table align"center">&l…

系统架构师7

2017年11月11日 软件系统架构师考试经验分享 置顶 2017年11月13日 15:25:53 凌飞安 阅读数 7812 版权声明&#xff1a;原创作品&#xff0c;转载请注明出处&#xff01;个人主页 http://www.lingfeian.com https://blog.csdn.net/lingfeian/article/details/78520808 系统架构…

工业利用计算机实现生产自动化属于,自动化考试试题(含答案)

第一类&#xff1a;填空题一&#xff0e;填空题1&#xff0e;自动化控制系统按被控量的时间特性分为(连续量)和(离散量)。2&#xff0e;PLC 全称为(可编程序逻辑控制器)&#xff0c;DCS全称为( 集散控制系统)。3&#xff0e;输入输出单元是(PLC)与工业过程控制现场之间的连接部…

保定有国家承认的计算机学校吗,河北省122所大学名单,不在名单内的都是国家不承认的野鸡学校...

原标题&#xff1a;河北省122所大学名单&#xff0c;不在名单内的都是国家不承认的野鸡学校据教育部官网信息显示&#xff0c;截至2019年6月15日&#xff0c;河北省共有普通高等学校122所&#xff0c;其中本科院校61所&#xff0c;专科院校61所。在名单中虽然有一所211院校&…

从Java类到对象的创建过程都做了些啥?内存中的对象是啥样的?

转载自 从Java类到对象的创建过程都做了些啥&#xff1f;内存中的对象是啥样的&#xff1f;先回顾一下Java程序执行的过程&#xff1a;Java程序执行时&#xff0c;第一步系统创建虚拟机进程&#xff0c;然后虚拟器用类加载器Class Loader加载java程序类文件到方法区。方法区放…

ASP.NET Core MVC TagHelper实践HighchartsNET快速图表控件

ASP.NET Core MVC TagHelper最佳实践HighchartsNET快速图表控件支持ASP.NET Core。 曾经在WebForms上写过 HighchartsNET快速图表控件-开源 Highcharts的ASP.NET Web自定义控件。 今天我就来改造它&#xff0c;将其使用最新的TagHelper 来实践&#xff0c;学习TagHelper 的使用…

架构师6

系统架构师考试总结 2019年06月11日 10:48:47 devillyd2018 阅读数 103 2011年11月12日&#xff0c;在这个百年一遇的大单身节的第二天&#xff0c;我怀着无比紧张的心情走进了系统架构师的考场。 虽然暂时还不知道我的成绩&#xff0c;无所谓啦&#xff0c;虽然答的一般&…

计算机视觉论文doc,嘉炬-计算机视觉论文资料.doc

成 绩评卷人姓 名嘉炬学 号华 中 师 范 大 学研 究 生 课 程 论 文论文题目 计算机视觉技术在教育领域的应用完成时间 2015年1月15日课程名称 计算机视觉专 业 通信与信息系统年 级 2014级注&#xff1a;研究生须在规定期限内完成课程论文&#xff0c;并用A4页面打印&#xff0…

Oracle数据库基本概念理解(1)

--函数 数字转换为字符 --0 强制位数&#xff0c;9位数不够不显示 $美元 SELECT TO_CHAR(124.3456,0000.00) FROM dual ; SELECT TO_CHAR(124.3456,9999.99) FROM dual ; SELECT TO_CHAR(124.3456,$9999.99) FROM dual ; --日期 日期转换为字符 SELECT TO_CHAR(SYSDATE,YY…

关于Heap Dump

转载自 关于Heap DumpHeap Dump是什么&#xff1f; Heap Dump也叫堆转储文件&#xff0c;是一个Java进程在某个时间点上的内存快照。Heap Dump是有着多种类型的。不过总体上heap dump在触发快照的时候都保存了java对象和类的信息。通常在写heap dump文件前会触发一次FullGC&a…

使用StyleCop 进行代码评审

使用StyleCop对原代码进行审查&#xff0c;看编写的代码是否遵循设计规范、.Net约定和一些贯用法等。保证代码的一致性&#xff0c;可读性等等。 在此之前&#xff0c;先简单介绍下FxCop&#xff08;起初只是微软内部使用的工具&#xff09;,一个分析托管程序集&#xff0c;检测…

系统架构师5 ***********那就给个合格分了。111

https://download.csdn.net/download/sun_lq/11109495 https://download.csdn.net/download/u011669055/10736374 https://download.csdn.net/download/robertsoft/10747039 十年IT从业背景&#xff0c;一次考试通过系统分析师(通过系统分析师的学习 ... [复制链接] 发表于 …

2012三年大专计算机试题医学,计算机原理2012年4月真题(02384)

计算机原理2012年4月真题及答案解析(02384)计算机原理2012年4月真题及答案解析(02384)&#xff0c;该试卷为计算机原理自考历年真题试卷&#xff0c;包含答案及详细解析。一、单项选择题(本大题共15小题&#xff0c;每小题2分&#xff0c;共30分)在每小题列出的四个备选项中只有…

JVM内存管理------JAVA语言的内存管理概述

转载自 JVM内存管理------JAVA语言的内存管理概述引言 内存管理一直是JAVA语言自豪与骄傲的资本&#xff0c;它让JAVA程序员基本上可以彻底忽略与内存管理相关的细节&#xff0c;只专注于业务逻辑。不过世界上不存在十全十美的好事&#xff0c;在带来了便利的同时&#xf…