<form action="upload" method="post" enctype="multipart/form-data">
<td class="title" width="18%">选择文件:</td>
<td width="32%"><input type="file" name="Myfile" class="l-text" /></td>
<input type="submit" value="submit" style="display:none" />
</form>
<tr>
<td class="b_button">
<td><button id="button" style="margin-top:30px" class="big_button" >上传</button></td>
</td>
</tr>
$("#button").click(function(){
//获取form 表单对象
var hideForm = $('form');
var options = {
dataType : "json",
beforeSubmit : function() {
alert("正在上传");
},
success : function(result) {
alert('成功上传!');
window.close();
},
error : function(result) {
}
};
//Submit 提交
hideForm.ajaxSubmit(options);
});
/**
* @Method: upload
* @Description: 数据上传
* @return ModelAndView
* @throws
*/
@RequestMapping(value = "/upload",method = RequestMethod.POST)
@ResponseBody
public void upload(HttpServletRequest request,HttpServletResponse res,String json
) throws Exception {
MultipartFile file = FileRWUtil.parse2MultFile(request, "Myfile");
FileUploadBo fileUploadBo = JsonUtil.json2Java(json, FileUploadBo.class);
//获取当前登入人
Map<String,String> userMaps = (Map<String,String>) request.getSession().getAttribute("user");
fileUploadBo.setUpUserNo(userMaps.get("name"));
//如果文件不为空,写入上传路径
if(!file.isEmpty()) {
//上传文件路径
String filename = file.getOriginalFilename();
String fileName = fileUploadBizc.getFileName(filename);
long fileSize = (file.getSize())/1024;
String fileSizeKb = String.valueOf(fileSize);
//String fileSizeKb = getTransSize(fileSize);
String fileType =fileUploadBizc.getExtensionName(filename);
File filepath = new File("/upload",filename);
String filePathName = String.valueOf(filepath);
//获取绝对路径
//String realPath =request.getSession().getServletContext().getRealPath(filePathName);
//判断路径是否存在,如果不存在就创建一个
if (!filepath.getParentFile().exists()) {
filepath.getParentFile().mkdirs();
}
//将上传文件保存到一个目标文件当中
file.transferTo(new File("/upload" + File.separator + filename));
fileUploadBo.setName(fileName);
fileUploadBo.setFileType(fileType);
fileUploadBo.setFilePath(filePathName);
fileUploadBo.setFileSize(fileSizeKb);
fileUploadBizc.saveFileUplod(fileUploadBo);
}
3.配置部分
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 上传文件大小限制,单位为字节-10Mb -->
<property name="maxUploadSize">
<value>10485760</value>
</property>
<!-- 请求的编码格式 -->
<property name="defaultEncoding">
<value>UTF-8</value>
</property>
</bean>
4.注意事项
@RequestParam("Myfile")
和 <td width="32%"><input type="file" name="Myfile" class="l-text" /></td>
网友评论