ajx异步上传图片并显示

利用ajax+springmvc完成上传图片并显示

前言:还是由于前期没有系统的学习,又坑了自己一把。

第一点:SpringMVC在接受图片,需要在springmvc中配置解析上传文件的解析器。

第二点:ajax上传文件时,使用的FormData对象。

第三点:tomcat读取磁盘中图片时,tomcat默认从项目下查找。

OK,开始!!

一:导入jar包

导入jquery文件,json支持jar包,springmvc支持jsonjar包

二:写jsp页面

​

这是一个注册页面
		  
上传头像:

img等会用来显示上传的图片

三:写javaScript

这里涉及FormData对象,不多解释,传送门:https://blog.csdn.net/hefeng6500/article/details/78644510

四:写controller

首先还是先配置文件解析器

        
		    
		    
		    
		

在着,书写controller,下面返回的路径这么写的原因,请参见下面两篇博文:

 Tomcat对于资源的读取路径问题:https://blog.csdn.net/qq_29410905/article/details/79675838

添加虚拟路径来解决:https://blog.csdn.net/a515557595_xzb/article/details/79259771

我的图片资源保存在E:/image下。

@Controller
public class registerController {
	@RequestMapping(value = "upload")
	@ResponseBody
	public Map upload(HttpServletRequest request,
			@RequestParam(value="file", required=false) MultipartFile file) throws Exception, IOException {
		String path = "/image/"+file.getOriginalFilename();
		file.transferTo(new File("E:"+path));
		Map map = new HashMap<>();
		map.put("path", path);
		return map;
	}
}

五:ok

ajx异步上传图片并显示_第1张图片

ajx异步上传图片并显示_第2张图片

 

 

 

 

你可能感兴趣的:(ajax)