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页面