1、搭建好ssm框架

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

commons-fileupload

commons-fileupload

1.4

commons-io

commons-io

2.6

commons-lang

commons-lang

2.6

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

4、jsp界面

对应

其次第二个文件上传对应的就是第二个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";

}

ssm java上传图片预览_ssm文件上传_上传图片相关推荐

  1. 本地如何预览php文件上传,如何实现js上传图片本地预览同时支持预览截图的功能...

    在项目中经常会用到js上传图片本地预览的效果,同时需要在预览图上直接预览截图的范围. 下面是我写的简单的demo,是用js结合cropper.js模拟实现此项前端的功能,后台则不考虑. 准备:引入文件 ...

  2. java 视频预览_java在上传视频时生成预览图

    在圣品上传时往往需要生成一张预览图(缩略图),如果在非特殊情况下让用户单独上传,会造成工作压力,此时可以用视频中某一帧作为封面图,实现方式如下: public class ImageUtil { /* ...

  3. vue3 el-upload 上传附件及预览 限制只能上传一个图片或者pdf格式的文件

    vue3 el-upload 上传附件及预览 限制只能上传一个图片或者pdf格式的文件 效果如图 直接看代码吧 template部分 <div class="file-upload&q ...

  4. SSM框架 基于Bootstrap fileinput 实现文件上传功能

    SSM框架 基于Bootstrap fileinput 实现文件上传功能 pom.xml文件的配置 想要实现SSM框架实现多文件上传,必要的jar包必须要在pom.xml文件中引入.如下: <! ...

  5. layui实现文件压缩上传_基于SSM框架、Layui的多文件上传、包括图片,压缩包,音频等文件(与数据库挂钩) - 爱秧博客...

    写在前面:当初为了实现一个多文件上传可是费了一番功夫,经过我日日夜夜的百度咨询,写了好几种方法,最终还是没能解决问题.我可以很负责任的告诉你,你去百度上不管你形容有多好,只要是涉及多文件,就会查到Mu ...

  6. vue本地上传并预览php,vue.js 实现图片本地预览 裁剪 压缩 上传功能

    以下代码涉及 Vue 2.0 及 ES6 语法. 目标 纯 javascrpit 实现,兼容ie9及以上浏览器,在本地做好文件格式.长宽.大小的检测,减少浏览器交互. 现实是残酷的,为了兼容Ie9 还 ...

  7. 9行代码实现图片上传和预览(自定义按钮上传)

    9行代码实现图片上传和预览(自定义按钮上传) 结果展示: 默认展示 2.点击按钮后,选择图片文件 图片预览 首先我们定义一个type为file的input,并将它隐藏,绘制一个button,在按钮点击 ...

  8. java使用smartupload组件实现文件上传的方法

    为什么80%的码农都做不了架构师?>>>    本文实例讲述了java使用smartupload组件实现文件上传的方法.分享给大家供大家参考.具体分析如下:文件上传几乎是所有网站都具 ...

  9. Java实现FTP批量大文件上传下载

    用Java实现FTP批量大文件上传下载 <iframe id="I0_1416224567509" style="margin: 0px; padding: 0px ...

最新文章

  1. oracle进程对文件没有写权限,ORACLE SYS用户没有权限一天半的救库过程
  2. C++中的friend详细解析
  3. UISegmentedControl的所有操作总结
  4. SpringBoot中的Quartz应用
  5. 如何将IDEA文件提交至Gitee仓库
  6. html 5 canvas flash,为什么使用HTML5 Canvas创建内容比使用Flash创作要复杂得多?
  7. .NET 中依赖注入组件 Autofac 的性能漫聊
  8. 实例浅析javascript call by value与call by reference
  9. 饿了么回应7道菜仅1道正品事件:先行赔付 停止骑手配送资格
  10. android log 如何获取double类型后小数点的值_【ES6基础】Symbol介绍:独一无二的值...
  11. 30个你 “ 不可能全部会做 ” 的javascript题目
  12. 跟我学Spring Cloud(Finchley版)-18-Zuul深入
  13. java与自动化的应用实例_自动化测试中java多线程的使用实例
  14. java word搜索_java 实现word 文档的在线编辑. 以及全文关键字搜索和高亮显示
  15. 计算机画图照片大小,如何压缩图片大小,用电脑系统自带画图工具即可
  16. Linux 中复制问题,错误显示 cp:omitting directory
  17. 作业必备:操作系统实验四【软中断通信】
  18. 自定义iTerm2主题配置(iTerm2-Color-Schemes)
  19. 怎么导出微信语音【亲测有效】
  20. bugku-misc练习(一)

热门文章

  1. nginx php分离,nginx-php配置动静分离
  2. git恢复删除前的版本
  3. OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize()
  4. 生成高斯热力图(craft中有使用)+2d heatmap+3d heatmap
  5. MySQL索引原理、失效情况
  6. Git 和 Github 秘籍
  7. Python 使用 smtp ssl 模式 发送邮件与附件
  8. 网站渗透测试原理及详细过程
  9. eclipse mat 打开dump文件,明明大小1G,打开后却只有不到100M.其他的去哪了
  10. XMLDictionary iOS的XML处理包