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

Spring MVC 上传单个文件

2015-08-25 16:00 513 查看
<!-- 支持上传文件 -->

<bean id="multipartResolver"

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

<property name="maxUploadSize" value="10240"></property>

<property name="resolveLazily" value="true"></property>

</bean>

@RequestMapping("/upload")

public @ResponseBody

String uploadFile(

@RequestParam(value = "file", required = false) MultipartFile file,

HttpServletRequest request, ModelMap model) {

if (file != null && file.getSize() > 0) {

String path = request.getSession().getServletContext()

.getRealPath("upload");

String fileName = file.getOriginalFilename();

File targetFile = new File(path, fileName);

if (!targetFile.exists()) {

targetFile.mkdirs();

}

// 保存

try {

file.transferTo(targetFile);

} catch (Exception e) {

e.printStackTrace();

}

model.addAttribute("info", request.getContextPath() + "/upload/"

+ fileName);

return "上传成功";

} else {

return "上传失败";

}

}

@ExceptionHandler

public @ResponseBody

String doException(Exception e, HttpServletRequest request,HttpServletResponse response)

throws Exception {

Map<String, Object> map = new HashMap<String, Object>();

String message = "";

if (e instanceof MaxUploadSizeExceededException) {

long maxSize = ((MaxUploadSizeExceededException) e)

.getMaxUploadSize();

map.put("info", "上传文件不能超过" + maxSize / 1024 + "k");

message = "上传文件太大,不能超过" + maxSize / 1024 + "k";

} else if (e instanceof RuntimeException) {

map.put("info", "未选中文件");

message = "未选中文件";

} else {

map.put("info", "上传失败");

message = "上传失败";

}

response.setContentType("text/plain;charset=UTF-8");

response.setCharacterEncoding("UTF-8");

return message;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: