ssm java上传图片预览_ssm文件上传_上传图片

1、搭建好ssm框架

2、导入文件上传所需依赖

commons-fileupload

commons-fileupload

1.4

commons-io

commons-io

2.6

commons-lang

commons-lang

2.6

3、springmvc的xml文件中配置文件所需的类

36aa20e58636322aaff7b564ab794740.png

4、jsp界面

e67fc1f339c3bf0e506201a29a28d81b.png

对应

e9b347c1a84e4f24dc02636eeb2921e6.png

其次第二个文件上传对应的就是第二个div里面的内容

4、form表单配置

注意:

表单中method必须为post方法不然会报405错误

必须加入enctype属性这样此表单才支持文件上传

5、controller层(逻辑和代码如下有注释):

@RequestMapping("addUser")publicString addUser(

User user,

HttpSession session,

Model model,

@RequestParam(value="multipartFiles") MultipartFile[] multipartFiles){//如果有文件上传

if(multipartFiles.length>0){for(int i=0;i

String path=session.getServletContext().getRealPath("statics"+ File.separator+"uploadfiles");//原文件名

String oldName=multipartFiles[i].getOriginalFilename();//获取原文件的后缀(可以过滤一些文件)

String suffix=FilenameUtils.getExtension(oldName);//文件上上传大小 得小于 500 kb

int fileSize=1024*500;//如果当前文件的大小大于500kb

if((multipartFiles[i].getSize())>fileSize){

model.addAttribute("error","文件的大小大于500kb");return "redirect:jsp/user/forwardTo?url=userAdd";

}//后缀判断

if("jpg".equals(suffix)||"jpeg".equals(suffix)||"png".equals(suffix)||"pneg".equals(suffix)){//新拼接的文件名 原文件名+当前系统时间+随机数+"_Personal.jpg"

String fileName=oldName+System.currentTimeMillis()+ RandomUtils.nextInt(1000000)+"_Personal.jpg";

File targetFile=newFile(path,fileName);//如果该目录不存在

if(!targetFile.exists()){//递归创建该目录

targetFile.mkdirs();

}try{//文件上传

multipartFiles[i].transferTo(targetFile);if(i==0){

user.setIdPicPath(fileName);

}else if(i==1){

user.setWorkPicPath(fileName);

}

}catch(IOException e) {

e.printStackTrace();

model.addAttribute("error","文件上传失败");return "redirect:jsp/user/forwardTo?url=userAdd";

}

}else{

model.addAttribute("error","图片格式不违法");return "redirect:jsp/user/forwardTo?url=userAdd";

}

}

}

}//未携带文件上传://获取当前用户

User userSession =(User) session.getAttribute(Contents.USER_SESSION);//设置创建者 和 创建时间的值

user.setCreatedBy(userSession.getId());

user.setCreationDate(newDate());//添加用户成功跳用户列表否则还是在用户添加页面

return userService.insertUser(user)?"redirect:/jsp/user/forwardTo?url=home":"redirect:/jsp/user/forwardTo?url=userAdd";

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值