上传页面jsp:
<form:form id="form1" name="form1" method="post"
action="${turnToSaveOutcomeViewURL}" enctype="multipart/form-data">
<table style="text-align: center; width: 100%;">
<tr>
<td class="tdRight">
上传文件:
</td>
<td class="tdLeft">
<input type="file" id="attachment" name="attachment" />
</td>
</tr>
<tr>
<td class="tdCenter" colspan="2">
<a id="submitBtn1" class="majorButton"><span>提交</span> </a>
</td>
</tr>
</table>
</form:form>
ApplicationContext.xml配置文件中的代码配置:
<!-- 处理文件上传 portlet multipart resolver 2012-08-02-->
<bean id="portletMultipartResolver"
class="org.springframework.web.portlet.multipart.CommonsPortletMultipartResolver">
<property name="maxUploadSize" value="10000000" />
</bean>
Controller中代码部分:
@RequestMapping(params = "action=turnToSaveOutcomeView")
public void turnToSaveOutcomeView(ActionRequest request,
ActionResponse response) throws IOException {
System.out.println(this.getClass() + " void turnToSaveOutcomeView()");
// 上传文件程序段开始================================================================
// 转型为MultipartHttpRequest
DefaultMultipartActionRequest multipartRequest = (DefaultMultipartActionRequest) request;
// 根据前台的name名称得到上传的文件
MultipartFile file = multipartRequest.getFile("attachment");
// 获得文件名:
String realFileName = file.getOriginalFilename();
System.out.println("获得文件名:" + realFileName);
// 获取路径
String ctxPath = request.getContextPath();
ctxPath = request.getPortletSession().getPortletContext().getRealPath(
"/")+"uploadFile\\";
System.out.println("路径:" + ctxPath);
// 创建文件
File dirPath = new File(ctxPath);
if (!dirPath.exists()) {
dirPath.mkdir();
}
String newFileName = (new Date()).getTime() + realFileName.substring(realFileName.indexOf("."));
File uploadFile = new File(ctxPath + newFileName);
FileCopyUtils.copy(file.getBytes(), uploadFile);
// 上传文件程序段结束================================================================
response.setRenderParameter("info", "保存成功");
response.setRenderParameter("action", "turnToSaveOutcomeView");
}
@RequestMapping(params = "action=turnToSaveOutcomeView")
public ModelAndView turnToSaveOutcomeView(RenderRequest request,
RenderResponse response, String info) {
System.out.println(this.getClass()
+ " ModelAndView turnToSaveOutcomeView()");
ModelAndView mv = new ModelAndView();
mv.addObject("info", info);
mv.setView("commit");
return mv;
}
上传的路径就是自己项目的:uploadFile文件夹下面