java上传图片、文件

前段代码如下:

<form id="updateImage" action="${pageContext.request.contextPath}/userInfo/UpdateImage" method="post" enctype="multipart/form-data">
	<a href="javascript:;" class="cropper-file green_btn">上传本地照片
                <input id="upload" type="file" value="上传照片" name="file" accept="image/jpg,image/png,image/gif,image/bmp,image/jpeg" />
	</a>
</form>

enctype="multipart/form-data" ,为表单上传文件必须要加的。否则报错

js代码如下:

if(user!=null && user!=''){
		$("#UpdateUserinfo").ajaxSubmit(function (data){
			if(data>0){
					window.location.href="${pageContext.request.contextPath}/userInfo/updateUserInfo_landlordByCode/${user.userCode }";
			}else{
				        alert("修改失败");
			}
		});
	}else{
		alert("请先登录");
	}

后台代码如下:

        //图片上传
	@RequestMapping("/UpdateImage")
	public String UpdateImage(@RequestParam(value="file",required=false)MultipartFile file,HttpServletRequest request) throws ParseException {
		System.out.println("=========>图片:"+file.getName()+",文件名:"+file.getOriginalFilename());
		File targetFile=null;
		Map<String, Object> map=new HashMap<String, Object>();
        String msg="";//返回存储路径
        int code=1;
        String fileName=file.getOriginalFilename();//获取文件名加后缀
        if(fileName!=null&&fileName!=""){   
            String returnUrl = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() +"/upload/imgs/";//存储路径
            String path = request.getSession().getServletContext().getRealPath("statics/upload/imgs"); //文件存储位置
            String fileF = fileName.substring(fileName.lastIndexOf("."), fileName.length());//文件后缀
            fileName=new Date().getTime()+"_"+new Random().nextInt(1000)+fileF;//新的文件名
            //判断文件是否存在
           // String fileAdd = DateUtil.format(new Date(),"yyyyMMdd");
            SimpleDateFormat fileAdd=new SimpleDateFormat("yyyyMMdd");
           // File file1 =new File(path+"/"+fileAdd.parse(fileAdd.format(new Date()))); 
            File file1 =new File(path); 
            //如果文件夹不存在则创建    
            if(!file1.exists()  && !file1.isDirectory()){  
            	System.out.println("创建文件夹!");
            	//file1.mkdir();
                file1.mkdirs();
            }
            System.out.println("保存文件!");
            targetFile = new File(file1, fileName);
            try {
                file.transferTo(targetFile);
                msg=returnUrl+fileAdd+"/"+fileName;
                code=0;
            } catch (Exception e) {
                e.printStackTrace();
            }
            System.out.println("文件存储路径:"+returnUrl+"新的文件名:"+fileName);
            //数据保存至数据库
            map = (Map)request.getSession().getAttribute("user");
            map.put("headPortrait", request.getContextPath()+"/statics/upload/imgs/"+fileName);
            map.put("userCode", map.get("userCode"));
            uInfoService.UpdateUserInfoImage(map);
        }
        
        return "";
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值