JAVA SSM整合上传图片进行新增

3 篇文章 0 订阅

                    JAVA SSM整合上传图片进行新增

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Spring Spring+MVC Mybatis

作者:李奕庚

撰写时间:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SSM 《Spring Spring+MVC Mybatis》整合图片上传进行新增,好了直接进入主题

//新增店铺
		@RequestMapping("/Insert")
		public void Insert(HttpServletRequest request, HttpServletResponse response){
			String name = null;
			String clerk_name = null;
			String telephone = null;
			String city_level_id = null;
			String prefecturelevel_city_id = null;
			String address = null;
			String postbox = null;
			String inlineRadioOptions = null;
			String storefront_src = null;
			String image_name=null;
			String remark=null;
			String fileName=null;
			String token=null;
			try {
				//赋值、上传图片
				if(ServletFileUpload.isMultipartContent(request)){//判断是form表单是否是multipart/form-data
					response.setContentType("text/html");
					String parentDir = request.getServletContext().getRealPath("/upload/store");//绝对路径
						FileItemFactory fileItemFactory = new DiskFileItemFactory();//  工厂
						ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory);// 核心类
						servletFileUpload.setHeaderEncoding("UTF-8");//设成你的编码格式
						
						List<FileItem> list = servletFileUpload.parseRequest(request);
						
						for (FileItem fileItem : list) {
							if (fileItem.isFormField()) {//  是否为表单字段(普通表单元素)
								if("name".equals(fileItem.getFieldName())){// 表单字段名称
									name= fileItem.getString("UTF-8");// 表单字段值
								}
								if("clerk_name".equals(fileItem.getFieldName())){clerk_name= fileItem.getString("UTF-8");}
								if("telephone".equals(fileItem.getFieldName())){telephone= fileItem.getString("UTF-8");}
								if("city_level_id".equals(fileItem.getFieldName())){city_level_id= fileItem.getString("UTF-8");}
								if("prefecturelevel_city_id".equals(fileItem.getFieldName())){prefecturelevel_city_id= fileItem.getString("UTF-8");}
								if("address".equals(fileItem.getFieldName())){address= fileItem.getString("UTF-8");}
								if("postbox".equals(fileItem.getFieldName())){postbox= fileItem.getString("UTF-8");}
								if("inlineRadioOptions".equals(fileItem.getFieldName())){inlineRadioOptions= fileItem.getString("UTF-8");}
								if("remark".equals(fileItem.getFieldName())){remark= fileItem.getString("UTF-8");}
								if("token".equals(fileItem.getFieldName())){token= fileItem.getString("UTF-8");}
							} else {
								image_name=fileItem.getName();
								if(Tools.isNotNull(image_name)){
								    fileName =System.currentTimeMillis()+"__"+ new File(fileItem.getName()).getName();//fileItem.getName();// 上传文件名
									InputStream is = fileItem.getInputStream(); // 获得输入流,
									//String filePath = parentDir + File.separator + fileName;//文件物理路径
									storefront_src="http://127.0.0.1:8080/vispBeautyNstrument/upload/store/"+fileName;//店铺图片路径
									File file = new File(parentDir, fileName);
									if (!file.getParentFile().exists()) {
										file.getParentFile().mkdirs(); 
									}
									FileOutputStream out = new FileOutputStream(file);
									byte[] buf = new byte[1024];
									int len = -1;
									while ((len = is.read(buf)) != -1) {
										out.write(buf, 0, len);
									}
									
									out.close();
									is.close();
								}
							}
						}		
				}
				//session
				String sessiontoken=(String) request.getSession().getAttribute("token");
				if (token!=null && token.equals(sessiontoken)) {
					//新增数据
					if(Tools.isNotNull(image_name)){
						if(Tools.isNotNull(name) && Tools.isNotNull(clerk_name) && Tools.isNotNull(telephone)
						   && Tools.isNotNull(city_level_id) && Tools.isNotNull(prefecturelevel_city_id) 
						   && Tools.isNotNull(address) && Tools.isNotNull(postbox) && Tools.isNotNull(storefront_src)
						   && Tools.isNotNull(remark)){
							if(Tools.isTelephone(telephone) && Tools.isEmail(postbox)){
								BStore store=new BStore();
								StringBuffer strNum=new StringBuffer();
								strNum.append((iStoreService.sum()+1));
								store.setNum(strNum.toString());
								store.setName(name);
								StringBuffer strAddress = new StringBuffer();
								SProject projectPo=iProjectService.findById(Integer.parseInt(city_level_id));
								SProjectType projectTypePo=iProjectTypeService.findById(Integer.parseInt(prefecturelevel_city_id));
								strAddress.append(projectPo.getName());
								strAddress.append(projectTypePo.getName());
								strAddress.append(address);
								store.setAddress(strAddress.toString());
								store.setJoiningTime(new Timestamp(System.currentTimeMillis()));//当前时间
								store.setfStoreId(1);
								store.setStorefrontSrc(storefront_src);
								store.setRemark(remark);
								store.setIsValid(inlineRadioOptions.equals("0") ? false:true);
								store.setAreaId(Integer.parseInt(prefecturelevel_city_id));
								int id=iStoreService.insertReturnId(store);
								if(id!=0){
									BClerk clerk=new BClerk();
									clerk.setStoreId(store.getId());
									clerk.setJobId(5);//店长
									
									StringBuffer strCode=new StringBuffer();
									strCode.append(strNum);
									strCode.append("_");
									strCode.append((iClerkService.sum()+1));
									clerk.setCode(strCode.toString());
									
									clerk.setName(clerk_name);
									clerk.setSexid(0);
									clerk.setTelephone(telephone);
									clerk.setPostbox(postbox);
									clerk.setPassword(MD5Tool.MD5Encrypt(telephone));
									clerk.setRemark("无");
									clerk.setIsValid(true);
									boolean success = iClerkService.insert(clerk);
									if (success) {
										request.getSession().removeAttribute("token");//移除指令
										request.getSession().setAttribute("strMsg", "新增成功!");
										request.getRequestDispatcher("/store/storeManagement.do").forward(request, response);
									}
								}
							}else{
								request.setAttribute("error", 602);
								request.getRequestDispatcher("/jsp/error.do").forward(request, response);
							}
						}else{
							request.setAttribute("error", 601);
							String realPath = request.getServletContext().getRealPath("/"); //获取的是项目的绝对路径  
					        File file1=new File(realPath+"upload/store/"+fileName);//店铺图片物理路径 
							if(file1.exists()){file1.delete();}//是否存在该文件//删除上传的图片
							request.getRequestDispatcher("/jsp/error.do").forward(request, response);
						}
					}else{
						request.setAttribute("error", 600);
						request.getRequestDispatcher("/jsp/error.do").forward(request, response);
					}
				}else{
					request.getSession().setAttribute("strMsg", "禁止重复提交!");
					request.getRequestDispatcher("/jsp/store/storeManagement.do").forward(request, response);
				}
			} catch (FileUploadException e) {
				e.printStackTrace();
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			} catch (ServletException e) {
				e.printStackTrace();
			}
		}

下面是运行效果图:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值