直接开始代码
不过在springmvc.xml的配置文件中需要加入一行配置文件
<!--文件上传-->
<bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver" id="multipartResolver"></bean>
需要注意的一点是这个bean的id必须得是multipartResolver
//@RequestMappimg()注解是做一个路径的映射
@RequestMapping("upload")
//@ResponseBody注解是将方法的返回值以特定的格式返回,在此我用的是json的数据格式,其配置在springmvc.xml的配置文件中,并且需要引入相关的jar
@ResponseBody
public Map<String,Object> upload(MultipartFile image, HttpServletRequest request){
//定义一个map集合作为返回值对象
Map<String, Object> map = new HashMap<>();
//根据相对路径获取绝对路径
String realPath = request.getSession().getServletContext().getRealPath("/shop/main/product/img");
try {
//定义一个新的文件名称,在这里我上传的是图片文件并且不需要下载,所以我直接把文件的后缀名写死成了.png格式
String name = UUID.randomUUID().toString() + ".png";
//new一个新的文件
File file = new File(realPath, name);
//调用image工具类开始文件上传
image.transferTo(file);
//文件上传成功,定义map的返回信息
map.put("status",true);
map.put("message",name);
} catch (IOException e) {
//如果有异常,在此我是用的自定义异常用于返回至前端页面,如果需要查看异常的信息的话可以e.printStackTrace();
map.put("status",false);
map.put("message","预览商品图片失败");
}
//返回map
return map;
}