您的位置:首页 > 编程语言 > Java开发

spring mvc 文件上传 form表单

2015-10-30 10:37 561 查看
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异常时,自动跳转到404页面 -->
<prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">/error/404</prop>
</props>
</property>
</bean>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: