基于springboot 的上传(把图片存到服务器,把获取到的图片的地址存到数据库中)

 @ResponseBody
	@RequestMapping("/upload") 
	public Map<String, String> uploadaaa(MultipartFile file,HttpServletRequest request,HttpServletResponse response) throws IllegalStateException, IOException{
	//String path = request.getSession().getServletContext().getRealPath("upload");  
     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式  HH:mm:ss
 	 String date = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳
 	 String path = "C:/var/uploaded_files/"+date+"/";
    UUID uuid=UUID.randomUUID();
    String originalFilename = file.getOriginalFilename();
   // String fileName = uuid.toString() + originalFilename;
    String extendName = originalFilename.substring(originalFilename.lastIndexOf("."), originalFilename.length());
    String fileName = uuid.toString() + extendName;
    File dir = new File(path, fileName);
    File filepath = new File(path);
    if(!filepath.exists()){  
     filepath.mkdirs();  
     }  
        file.transferTo(dir);
        
        Map<String, String> map = new HashMap<>();
        map.put("filePath", path);
        map.put("fileName", fileName);
        
        return map;
       
	}

(controller中的)

	 <div class="id_img_wp">
		<input type="file" accept="image/png,image/jpeg" onchange="getzImg(this)" style="display:none" value="" id="img_z"/>
		<input type="file" accept="image/png,image/jpeg" onchange="getfImg(this)" value="" id="img_f" style="display:none"/>
		<div class="img_wp" onclick="zhengmian()">
			<img src="/mui/images/idcard.jpg"  id="zmz"style="height: 84.6px;" />
			<p class="img_intro">身份证正面照</p>
		</div>
		
		<div class="img_wp" onclick="fanmian()">
			<img src="/mui/images/idcard.jpg" id="fmz"style="height: 84.6px;" />
			<p class="img_intro">身份证反面照</p>
		</div>
		<div class="cf"></div>
	 </div>

(html)

 var fileName1="";
     var filePath1="";
     var fileM = document.querySelector("#img_z");

	 $("#img_z").on("change", function() {
		//获取文件对象,files是文件选取控件的属性,存储的是文件选取控件选取的文件对象,类型是一个数组
		var fileObj = fileM.files[0];
		//创建formdata对象,formData用来存储表单的数据,表单数据时以键值对形式存储的。
		var formData = new FormData();
		formData.append('file', fileObj);
		$.ajax({
			url : "upload",
			type : "post",
			dataType : "json",
			data : formData,
			async : false,
			cache : false,
			contentType : false,
			processData : false,
			success : function(data) {
				fileName1 = data.fileName;
				filePath1 = data.filePath;
			
			},
			error : function(data) {
				alert("图片上传错误,请重新上传");
			}
		}); //ajaxemd
	}); 

猜你喜欢

转载自blog.csdn.net/shendian7323/article/details/82895543