java springmvc上传图片,springMVC上传图片,springmvc上传文件

springMVC上传图片,springmvc上传文件

一》吧上传图片方法提出来

public class UpPicture {

public static void upPicture(MultipartFile fl,HttpServletRequest  req) throws Exception{

String path =req.getSession().getServletContext().getRealPath("/")+"upload/";

//真实路径

String fileName = fl.getOriginalFilename();

File targetFile = new File(path, fileName);

if(!targetFile.exists()){

targetFile.mkdirs();

}

System.out.println(path);

//保存

try {

fl.transferTo(targetFile);

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 判断文件大小

* @param fl

* @return

*/

public static Boolean  size(MultipartFile  fl){

// System.out.println(fl.length());

// 判断文件大小

long s = fl.getSize();

if (s>=2000000000) {

return false;

}

return true;

}

/**

* 判断图片格式

* @param flFileName

* @return

*/

public static Boolean geShi(String flFileName){

// 判断传入的是否为 图片

Set set = UpPicture.imgSet();

Boolean b = false;

for (String s : set) {

if (flFileName.substring(flFileName.length()-3).equalsIgnoreCase((String) s)) {

b = true;

break;

}

}

return b;

}

/**

* 把常见的图片格式放入 set中

*

* @return

*/

public static Set imgSet() {// BMP、JPG、JPEG、PNG、GIF。

Set set = new HashSet<>();

set.add("bmp");

set.add("jpg");

set.add("jpeg");

set.add("png");

set.add("gif");

return set;

}

}

二》controller层

/**

* 执行更新头像页面

* @return

*/

@RequestMapping("/do_editphoto.do")

@ResponseBody

public String doModiPhoto(Integer noid,MultipartFile file,HttpServletRequest request,Model model){

noid=1;

String fileFileName=file.getOriginalFilename();

boolean b=UpPicture.size(file) ;

if(!b ){

return "格式不对";

}

b= UpPicture.geShi(fileFileName);

if(!b){

return "格式不对";

}

try {

UpPicture.upPicture(file, request);

} catch (Exception e) {

return "error";

}

//保存路径是

String path="/family/upload/"+fileFileName;

userService.updatPhotoUrl(path,noid);

return path;

}

/**

* 切图上传图片

* @param x

* @param y

* @param w

* @param h

* @param fl

* @param session

* @return

*/

@RequestMapping("do_crop")

@ResponseBody

public String   do_crop(String flName,String flFileName,Integer x,Integer y,Integer w,Integer h,HttpSession session){

if(x==null  || y==null || w==null || h==null){

return  "请稍候再试";

}

try{

ImageCut.cutImage(flFileName,x,y,w,h);

}catch(Exception e){

return "系统不太稳定哦";

}

// 获得session

Integer userId = (Integer)session.getAttribute("userId");

userId=1;

//保存路径是

String path=flName;

userService.updatPhotoUrl(path,userId);

return "ok";

}

三》jsp页面

更换头像:

显示裁剪预览图

          %24%7Bphoto%7D

                  Preview

确认剪裁并保存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值