`
mxx_1111
  • 浏览: 59109 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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+servlet+commons-io-2.4.jar+commons-fileupload-1.3.jar实现文件的上传与下载

    在Java Web开发中,文件的上传与下载是常见的功能需求,尤其...通过以上步骤,你可以实现基于Java Servlet和Apache Commons库的文件上传与下载功能。理解并熟练掌握这些知识点,对于开发高效、稳定的Web应用至关重要。

    commons-fileupload-1.3.3.jar和commons-io-2.6.jar

    总的来说,`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Java开发中不可或缺的工具,它们大大简化了文件上传的实现,同时也提供了良好的错误处理和资源管理机制,使得文件上传操作变得更加可靠和高效。...

    commons-fileupload-1.3.jar和commons-io-1.2.jar.zip

    总的来说,Apache Commons FileUpload和Commons IO是Java Web开发中的重要工具,它们极大地简化了文件上传和文件操作的复杂性,让开发者能够更专注于业务逻辑,而不是底层的实现细节。通过理解这两个库的工作原理和...

    commons-fileupload-1.3.3.jar commons-io-2.5.jar

    `commons-fileupload-1.3.3.jar` 和 `commons-io-2.5.jar` 是Apache Commons项目中的两个重要库,它们提供了强大的文件上传功能,使得开发者可以轻松地处理用户通过表单提交的文件。 Apache Commons FileUpload是...

    commons-fileupload.jar和commons-io.jar

    Apache Commons FileUpload和Commons IO两个库是Java中处理文件上传的关键组件,它们为SpringMVC和MyBatis这样的框架提供了强大的支持。本篇文章将深入探讨这两个库以及它们在图片处理中的作用。 首先,`commons-...

    commons-fileupload及源码

    7. **与其他库的集成**:Apache Commons FileUpload可与Servlet API、Spring MVC、Struts等Web框架无缝集成,简化了在这些框架中实现文件上传的复杂性。 源码分析对于理解其内部工作原理非常有帮助。`commons-...

    maven实现的commons-fileupload的demo

    在Java Web开发中,文件上传是一项常见的功能,Apache Commons FileUpload库是实现这一功能的强大工具。本示例将深入解析如何结合Maven构建一个基于Servlet的文件上传演示项目。Maven是一个项目管理工具,它可以帮助...

    commons-fileupload 文件上传 图片上传 demo

    至于文件列表中提到的"Roger",这可能是实际的项目文件或代码示例,具体内容没有给出,但根据标题“demo”可以推测,这可能是一个演示如何使用`commons-fileupload`进行图片上传的Java代码示例。 在实际应用中,...

    commons-fileupload.rar;包括commons-fileupload-1.3.1-bin和commons-io-2.4

    Commons FileUpload是Apache软件基金会的一...在实际开发中,结合`commons-fileupload`和`commons-io`这两个库,可以方便地实现在Java Web应用中的文件上传功能,并且可以自定义各种策略以满足特定的安全性和性能要求。

    commons-fileupload-1.3.3.jar和commons-io-1.3.2.jar程序文件

    这两个库在Java Web应用、尤其是Servlet和JSP开发中非常常见,它们简化了文件上传的实现,使得开发者能够专注于业务逻辑,而不是底层的I/O操作。同时,由于它们都是开源的,有着良好的社区支持和文档,因此在遇到...

    commons-fileupload-1.3.1.jar

    "commons-fileupload-1.3.1.jar" 是Apache Commons FileUpload项目的版本1.3.1的Java档案文件,这个库专门设计用于处理HTTP协议中的文件上传功能。在Web开发中,尤其是基于Java的服务器端应用程序,文件上传是常见的...

    commons-fileupload-1.3.2.jar

    总之,Apache Commons FileUpload是Java Web开发中处理文件上传不可或缺的工具,它提供了高效、灵活且安全的文件上传解决方案。通过理解和熟练运用这个库,开发者可以轻松地在自己的应用中实现复杂的文件上传功能。

    commons-fileupload实现文件上传下载

    ### Commons-FileUpload 实现文件上传下载 #### 知识点概述 Commons-FileUpload 是 Apache 提供的一个用于处理 HTTP 文件上传的组件。它基于 Servlet 规范,并且能够解析来自 `multipart/form-data` 编码类型的 ...

    commons-fileupload-1.3.3-bin.tar.gz

    Apache Commons FileUpload的工作原理是基于Servlet API,它解析请求中的多部分数据,这些数据通常是在HTML表单中通过`&lt;input type="file"&gt;`元素提交的。在服务器端,FileUpload库会将这些多部分数据分解为单独的...

    commons-fileupload-1.3.2jar和commons-io-2.5.jar包

    通过Apache Commons FileUpload和Commons IO库,开发者可以轻松实现JSP中的文件上传功能,同时确保了性能和安全性。这两个库的结合使用,极大地简化了文件上传的复杂性,使得开发者可以专注于业务逻辑,而不是底层的...

    commons-fileupload-1.3.2jar包和commons-io-2.5jar包.zip

    Apache Commons FileUpload与Apache Commons IO是Java开发中处理文件上传和I/O操作的重要库。这两个库在处理Web应用,特别是基于JSP(JavaServer Pages)的文件上传功能时,扮演着核心角色。在这个主题中,我们将...

    文件上传两个jar包commons-fileupload-1.3.1和commons-io-2.4

    总的来说,`commons-fileupload-1.3.1.jar` 和 `commons-io-2.4.jar` 在Java Web开发中是处理文件上传不可或缺的工具,它们为开发者提供了强大的支持,使得文件上传功能的实现变得既高效又安全。在开发过程中,正确...

    commons-fileupload-1.2.1.jar与commons-io-1.3.2.jar

    标题中的"commons-fileupload-1.2.1.jar与commons-io-1.3.2.jar"涉及的是两个在Java开发中常用的开源库,主要用于处理HTTP协议上传文件的需求。这两个库在JSP(JavaServer Pages)开发中尤为重要,因为它们简化了...

    java 上传 SmartUpload&commons-fileupload

    本主题将深入探讨两种常见的Java上传组件——SmartUpload和Commons-Fileupload。 SmartUpload是一个强大的Java上传组件,由Julien DROUET开发,它为JSP和Servlet提供了方便的文件上传功能。SmartUpload提供了一套...

    commons-fileupload-1.2.2.jar和commons-io-2.4.jar包

    总之,`commons-fileupload-1.2.2.jar`和`commons-io-2.4.jar`是Java Web开发中处理文件上传和下载不可或缺的工具。尽管它们的版本可能不是最新的,但依然能提供可靠的功能,并且在很多现有的系统中广泛使用。理解并...

Global site tag (gtag.js) - Google Analytics