spring mvc 文件上传 form表单
jsp頁面
<form class="form-horizontal" role="form" id="form" enctype="multipart/form-data" action="<%=request.getContextPath()%>/userorder/form/order?" method="post" target="hidden_frame"><div ><input type="checkbox" id="orderTypes" name="orderTypes" value="1" checked="checked" style=" width: 19px; height: 25px; padding: 0 5px 0 0;float:left; "> Symbol <input type="checkbox" name="orderTypes" id="orderTypes" value="2" style=" width: 19px; height: 25px; padding: 0 5px 0 0; "> FootPrint </div></ul><ul class="reg-box"><li><label for="">芯 片 名 稱 </label><div class="col-md-9"> <input type="text" name="partNumber" id="partNumber" class="partnum" style="width:300px; height:35px;"style="color:#999;" onBlur="textBlur(this)" onFocus="textFocus(this)"><span class="error error0"></span><span class="default default1"></span></li><li style="list-style:none;float:center;"><label for="">文 檔 鏈 接 <br>(或上傳文件)</label><input type="text" name="dataSheetLink" id="dataSheetLink" class="datalink" style="width:300px; height:20px;" style="color:#999;" onBlur="textBlur(this)" onFocus="textFocus(this)"> <span class="error error1"><br><label for=""></label><span class="default default2"></span> </li><div style="display:inline;"><input type="file" id="file" name="myfiles" class="file" style="width:300px; height:20px;" style="color:#999;" onBlur="textBlur(this)" onFocus="textFocus(this)"/> </span></div><li style="list-style:none;float:center;margin-top: 10px"><label for="">EDA TOOL </label><div class="col-md-9"><select style="width:300px; height:45px;" style="color:#999;" id="select0" name="edaTool" ><option value="0">--請選擇--</option><option value="1">11</option><option value="2">22</option><option value="3">33</option></select></div></li> </ul><ul class="reg-box"><div class="btn"><button type="submit" value="showmsg" >確定</button></div></ul></form><iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe>action
@RequestMapping(value = "/userorder/form/order", method = RequestMethod.POST)public void userOrderForm(HttpSession session, HttpServletRequest request,HttpServletResponse response, UserOrder userOrder,@RequestParam MultipartFile myfiles)throws IOException {JSONObject jsonObject = null;Map<String, Object> userOrdermap = new HashMap<String, Object>();UserOrder userOrderParm = new UserOrder();HttpSession sessions = request.getSession();User usertemp = (User) sessions.getAttribute("AdminUser");User user = userService.userByName(usertemp.getUserName());userOrderParm.setUserId(user.getUserId());userOrderParm.setOrderTypes(userOrder.getOrderTypes());userOrderParm.setPartNumber(userOrder.getPartNumber());userOrderParm.setDataSheetLink(userOrder.getDataSheetLink());userOrderParm.setEdaTool(userOrder.getEdaTool());userOrderParm.setConfirmTime(new Date());Random rd = new Random();SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");int num = rd.nextInt(9);String originalFilename = myfiles.getOriginalFilename();int index = originalFilename.substring(0).lastIndexOf(".");String fileType = originalFilename.substring(index + 1,originalFilename.length());String fileName = sdf.format(new java.util.Date()).concat(String.valueOf(num)).concat(".").concat(fileType);FileOutputStream out;InputStream stream = null;String basePath = Config.getProperty("OrderUpLoadPath");stream = myfiles.getInputStream();out = new FileOutputStream(basePath + fileName, false);int byteCount = 0;byte[] bytes = new byte[1024];while ((byteCount = stream.read(bytes)) != -1) {out.write(bytes, 0, byteCount);}out.flush();out.close();stream.close();userOrderParm.setUploadDataSheet("/orderfile/" + fileName);int orderSuccess = userOrderService.saveOrder(userOrderParm);if (orderSuccess == 1) {userOrdermap.put("result", 0);} else {userOrdermap.put("result", 1);userOrdermap.put("error", "用戶定制失敗。");}jsonObject = JSONObject.fromObject(userOrdermap);response.getWriter().print(jsonObject.toString());}spring 的配置文件
<!-- SpringMVC上傳文件時,需要配置MultipartResolver處理器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"/>
<!-- 指定所上傳文件的總大小不能超過200KB。注意maxUploadSize屬性的限制不是針對單個文件,而是所有文件的容量之和 -->
<property name="maxUploadSize" value="200000000"/>
</bean>
<!-- SpringMVC在超出上傳文件限制時,會拋出org.springframework.web.multipart.MaxUploadSizeExceededException
該異常是SpringMVC在檢查上傳的文件信息時拋出來的,而且此時還沒有進入到Controller方法中 -->
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<!-- 遇到MaxUploadSizeExceededException異常時,自動跳轉(zhuǎn)到404頁面 -->
<prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">/error/404</prop>
</props>
</property>
</bean>
轉(zhuǎn)載于:https://www.cnblogs.com/wsxj99/p/4922623.html
總結(jié)
以上是生活随笔為你收集整理的spring mvc 文件上传 form表单的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 桥梁钢铰线进场时应进行理化检验,每批不得
- 下一篇: 从移动端开发者的角度聊微软的困境和机会