spring mvc MultipartHttpServletRequest获取页面传入的所有文件

news/2024/7/7 12:40:45 标签: java, 测试, 前端

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

 用MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

可获取所有页面传入的文件

java">	@RequestMapping(value="/shenbao_submit")
	public ModelAndView shenbao_submit(
			HttpServletRequest request,
			HttpServletResponse response,
			HttpSession session) throws Exception{
		ModelAndView mv = this.getModelAndView();
		PageData pd = new PageData(request);
		PageData pdAppUser =(PageData)session.getAttribute("APPUSER");
//		文件上传
		String templetId="";
		String proId="";
		String deptId="";
		String info="";
		String dsId=UUID.randomUUID().toString().replace("-", "");
		String dsuid=UUID.randomUUID().toString().replace("-", "");
		String areaCode="";
		Map<String,String> saveParams=new HashMap<String,String>();
		UploadFileUtil uploadData = new UploadFileUtil(); 
		
	   try { 
		   proId= Tools.isEmpty(pd.getString("proId"))?"":pd.getString("proId");
		   MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
		   
			templetId=Tools.isEmpty(pd.getString("templetId"))?"":pd.getString("templetId");
			deptId=Tools.isEmpty(pd.getString("deptId"))?"":pd.getString("deptId");
			areaCode=deptId.substring(0,3);
			
	        String[] attId = new String[multipartRequest.getMultiFileMap().size()];
	        for(int i=0;i<multipartRequest.getMultiFileMap().size();i++){
//	        	System.out.println(getPara("attId"+i));
	        	attId[i]=pd.getString("attId"+i);
	        }
	        List<String> filespath =new ArrayList<>();
	        Map<String, Object> map = new HashMap<String,Object>();
	        map.put("proId", proId);
	        map.put("attId", attId);
	        map.put("dsId", dsId);
	        map.put("dsuid", dsuid);
	        JSONObject result1=null;
	        if(multipartRequest.getMultiFileMap().size()>0){
	        	for (int i = multipartRequest.getMultiFileMap().size()-1; i>=0; i--) {
	     		   /** 页面控件的文件流* */
	    	        MultipartFile multipartFile = multipartRequest.getFile("file"+i);
	            	String originalFilename = "";
	                if(!multipartFile.isEmpty()){
//	                	获取原始文件名称
	                	originalFilename = multipartFile.getOriginalFilename();
//	                	将原始文件名前缀和后缀分开放入数组
	                    String[] filenames = originalFilename.split("\\.");
//	                   	 文件名后缀
	                    String suffixName = filenames[filenames.length-1];
//	                   	 保存文件名
	                    String saveName = UUID.randomUUID().toString().replace("-", "")+"."+suffixName;
//	                 	 文件保存路径  
	        			String savePath = PathUtil.getClasspath() + Const.FILEPATHIMG;		//文件上传路径
	                    String filePathName =savePath+ saveName;	               	                   
//	                   	保存临时文件
	                    File saveFile = new File(filePathName);
	                    uploadData.copyFile(multipartFile.getInputStream(), savePath, saveName);
	                    filespath.add(saveFile.getAbsolutePath());
	                }
				}
 
	            String[] toBeStored = filespath.toArray(new String[filespath.size()]);  

		        map.put("strFiles", toBeStored);
				String strUploadFile = uploadData.uploadFiles(host+fileuploadapi, map); 
				result1=JSON.parseObject(strUploadFile);
	        }
		   String lpIdenticd=Tools.isEmpty(pd.getString("lpIdenticd"))?"":pd.getString("lpIdenticd");
		   String lpApplyp=Tools.isEmpty(pd.getString("lpApplyp"))?"":pd.getString("lpApplyp");
		   String lpAddr=Tools.isEmpty(pd.getString("lpAddr"))?"":pd.getString("lpAddr");
		   String lpEmail=Tools.isEmpty(pd.getString("lpEmail"))?"":pd.getString("lpEmail");
		   String lpMailCode=Tools.isEmpty(pd.getString("lpMailCode"))?"":pd.getString("lpMailCode");
		   String lpContact=Tools.isEmpty(pd.getString("lpContact"))?"":pd.getString("lpContact");
		   String userTypes="PeoService";
		   String govUid =pdAppUser.getString("GOV_UID");
		   String deptName=Tools.isEmpty(pd.getString("deptName"))?"":pd.getString("deptName");		   
		   saveParams.put("lpApplyp",URLEncoder.encode(lpApplyp,"UTF-8"));
		   saveParams.put("lpIdenticd", lpIdenticd);
		   saveParams.put("lpAddr", URLEncoder.encode(lpAddr,"UTF-8"));
		   saveParams.put("lpEmail", URLEncoder.encode(lpEmail,"UTF-8"));
		   saveParams.put("lpMailCode", URLEncoder.encode(lpMailCode,"UTF-8"));
		   saveParams.put("lpContact", lpContact);
		   saveParams.put("userTypes", userTypes);
		   saveParams.put("userId", govUid);
		   saveParams.put("deptName", URLEncoder.encode(deptName,"UTF-8"));
		   saveParams.put("deptId", deptId);
		   saveParams.put("areaCode", areaCode);
		   saveParams.put("proId", URLEncoder.encode(proId,"UTF-8"));
		   saveParams.put("dsId", URLEncoder.encode(dsId,"UTF-8"));
		   saveParams.put("dsuid", URLEncoder.encode(dsuid,"UTF-8"));
		   String params = AjaxCall.getUrlParamsByMap1(saveParams);
		   String url = host+saveConvenienceapi+"&"+params;
		   info=AjaxCall.sendPost(url, "");
		   result1=JSON.parseObject(info);
		   if(result1.get("result").equals("ok")){
			  mv.setViewName("/views/convenient/myxiaoshi");
			  redirectTo("/convenient/myxiaoshi");
		      return mv;
		   }
		   
	   } catch (Exception e) { 
	    e.printStackTrace(); 
	   }
	    mv.setViewName("/views/convenient/shenbao");
	    redirectTo("/convenient/myxiaoshi");
		return mv;
	}

 

转载于:https://my.oschina.net/1914195322/blog/1537115


http://www.niftyadmin.cn/n/711395.html

相关文章

计算机病毒的运营消耗cpu,工业计算机CPU使用率过高的原因以及解决方法

原标题&#xff1a;工业计算机CPU使用率过高的原因以及解决方法当工业计算机CPU使用率过高&#xff0c;导致资源不足时&#xff0c;很容易会出现卡死或者长时间等待无响应的情况。这时候我们只能通过手动的方式让工业计算机实现重启&#xff0c;但是如果之前运行的一些数据都没…

PageValidate 类

转载&#xff1a;http://www.cnblogs.com/sufei/archive/2010/01/14/1648028.html using System.Text.RegularExpressions;/// <summary> /// 开发人&#xff1a;苏飞 /// 开发时间&#xff1a;2009-09-11 /// 主要功能&#xff1a;判断页面各个控件的输入 /// </summ…

Redis——事务 锁机制

文章目录&#xff1a; 1.Redis中事务的定义 1.1 案例一&#xff1a;事务中组队成功、提交成功 1.2 案例二&#xff1a;事务中组队阶段报错、提交失败 1.3 案例三&#xff1a;事务中组队成功&#xff0c;提交有成功有失败情况 2.Redis中的锁机制 2.1 悲观锁 2.2 乐观锁 …

Laravel配置session

\Illuminate\Session\Middleware\StartSession::class,\Illuminate\View\Middleware\ShareErrorsFromSession::class, 转载于:https://www.cnblogs.com/unclewang666/p/11153160.html

川教版四年级下册计算机教案,四年级下信息技术教案-整理自己的文件和文件夹-川教版...

《四年级下信息技术教案-整理自己的文件和文件夹-川教版》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《四年级下信息技术教案-整理自己的文件和文件夹-川教版(3页珍藏版)》请在人人文库网上搜索。1、www.zxxk.com第二课整理自己的文件和文件夹一、教学目标让学生通…

SQL Server 审核(Audit)-- 介绍

SQL Server 审核&#xff08;Audit&#xff09;-- 介绍MSDN请参见&#xff1a;http://msdn.microsoft.com/zh-cn/library/cc280386%28vsql.120%29.aspx认识审核SQL Server审核是从SQL Server 2008开始引入的一套全新的审核系统。“审核”SQL Server 数据库引擎实例或单独的数据…

Redis——持久化之RDB

1.RDB&#xff08;Redis DataBase&#xff09; 在指定的时间间隔内将内存中的数据集快照写入磁盘&#xff0c; 也就是行话讲的Snapshot快照&#xff0c;它恢复时是将快照文件直接读到内存里。 1.1 RDB备份是如何执行的&#xff1f; Redis会单独创建&#xff08;fork&#xff09…

well-known file is not secure

执行jstack pid时&#xff0c;提示well-known file is not secure。 原因是pid的启动用户不是当前用户&#xff0c;需要切换到启动用户下执行jstack即可。 可以通过如下命令来处理&#xff1a; sudo -u $user jstack $pid转载于:https://www.cnblogs.com/asfeixue/p/7521814.ht…