Spring MVC做图片上传:

一、配置文件中首先配置文件上传路劲;

二、首先获取配置文件路劲当中的路劲并判断路劲是否存在,不存在用File类的mkdirs()创建;(url)

三、获取文件名称(fileName);

四、保存临时文件new File(url,fileName);

五、获取相对路劲;(获取相对路劲的目的就是各个环境中配置的路劲是可变的,比如本地、测试环境、生产环境都是不同的,而数据库中存储的路劲是相同的,所以这里我们选择存储相对路劲。)

六、save..........将数据保存到数据库;

七、最后可以做页面预览啥的。

试例代码如下:

 @RequestMapping("/common/o_upload_image.do")public String execute(String fileName,Integer uploadNum,Integer zoomWidth,Integer zoomHeight,@RequestParam(value = "uploadFile", required = false) MultipartFile file,HttpServletRequest request, ModelMap model) {WebErrors errors = validate(fileName, file, request);if (errors.hasErrors()) {model.addAttribute(ERROR, errors.getErrors().get(0));return RESULT_PAGE;}Website web = SiteUtils.getWeb(request);
        String real = applicationProperties.getUploadBasePath() + web.getUploadRel();String dateDir = FileNameUtils.genPathName();// 创建目录
        File root = new File(real, dateDir);if (!root.exists()) {root.mkdirs();}// 取文件名
        if (StringUtils.isBlank(fileName)) {String ext = FilenameUtils.getExtension(file.getOriginalFilename());fileName = FileNameUtils.genFileName(ext);} else {fileName = FilenameUtils.getName(fileName);}// 保存为临时文件
        File tempFile = new File(root, fileName);// 相对路径
        String ctx = request.getContextPath();String relPath = ctx + SPT + UPLOAD_PATH + SPT + dateDir + SPT + fileName;String basePath = applicationProperties.getDownloadBasePath();String md5 = null;model.addAttribute("zoomWidth", zoomWidth);model.addAttribute("zoomHeight", zoomHeight);try {
            model.addAttribute("uploadPath", relPath);model.addAttribute("uploadNum", uploadNum);model.addAttribute("basePath", basePath);byte[] buffer = getBytes(tempFile);md5=StringUtil.getMd5Hex(buffer);} catch (IllegalStateException e) {model.addAttribute(ERROR, e.getMessage());log.error("upload file error!", e);} catch (IOException e) {model.addAttribute(ERROR, e.getMessage());log.error("upload file error!", e);}

        imageMng.save(fileName, relPath, md5);return RESULT_PAGE;}

总结比较粗糙,欢迎大家指点,一起讨论进步!谢谢

Spring mvc 做图片上传相关推荐

  1. IDEA中Spring MVC实现图片上传并显示

    我们都知道web项目需要部署到tomcat服务器中运行 那么,我们又是如何通过tomcat来访问存放在本地磁盘中的图片呢?,通过tomcat访问本地图片,需要配置虚拟路径,下面介绍两种配置虚拟路径的方 ...

  2. ajaxfileupload+spring mvc 单张图片上传

    2019独角兽企业重金招聘Python工程师标准>>> //jsp页面 1.首先引入ajaxfileupload.js 2.form一定要配上enctype="multip ...

  3. 【报错笔记】在做图片上传时上传图片后可以跳转到上传成功界面,也没有报错,数据库中也传入了值,可是eclipse中webapp下怎样都无法生存目录。

    在做图片上传时上传图片后可以跳转到上传成功界面,也没有报错,数据库中也传入了值,可是eclipse中webapp下怎样都无法生存目录. 我使用UUID生成8级目录,在webapp下创建目录,将图片传进 ...

  4. Spring MVC 3:上传多个文件

    只是在办公室又漫长的一天,数据库不可用,一个团队成员现在滞后一周. 因此,我们必须作为一个团队来交付它. 在Spring3,它看起来很直接上传文件. 但是,从jsp文件上载多个文件几乎没有帮助. 上载 ...

  5. Mr.张小白(案例:基于Spring MVC实现文件上传和下载)

    基于Spring MVC实现文件上传和下载 一.步骤 1.引入相关依赖pom.xml <?xml version="1.0" encoding="UTF-8&quo ...

  6. input做图片上传限制图片大小1M以内

    input 属性type=file;定义输入字段和 "浏览"按钮,供文件上传. 1.做图片上传可配合中使用 accept 属性来限制图片的格式. 注意 accept 属性只能与 配 ...

  7. .net mvc + layui做图片上传(二)—— 使用流上传和下载图片

    摘要:上篇文章写到一种上传图片的方法,其中提到那种方法的局限性,就是上传的文件只能保存在本项目目录下,在其他目录中访问不到该文件.这与浏览器的安全性机制有关,浏览器不允许用户用任意的路径访问服务器上的 ...

  8. Java做图片上传、文件上传、 批量上传、 Base64图片上传 。附上源码

    Java做文件上传.图片上传后台方法 利用Springboot快速搭建项目环境 项目源码已经上传到码云:https://gitee.com/jack_party/upload .喜欢的朋友可以支持一下 ...

  9. java图片加水印上传工具类_基于Spring Boot实现图片上传/加水印一把梭操作

    文章共537字,阅读大约需要 2分钟 ! 概述 很多网站的图片为了版权考虑都加有水印,尤其是那些图片类网站.自己正好最近和图片打交道比较多,因此就探索了一番基于 Spring Boot这把利器来实现从 ...

最新文章

  1. Windows Mobile 7 梦幻之旅系列1之- What’s New?
  2. 网站权重增加需要做的
  3. gsonformat安装怎么使用_IDEA中使用GsonFormat
  4. .NET6 新功能和新生态
  5. cdh mysql sqoop 驱动_大数据技术之Sqoop学习——原理、安装、使用案例、常用命令...
  6. 日本词汇的认识与理解
  7. android nexus 6尺寸,谷歌Nexus 6详细配置曝光 原生Android大杀器
  8. html_jQuery_ajax
  9. Linux内核空间与用户空间信息交互方法
  10. 使用jrtplib(RTP)传输H.264视频文件
  11. 第九届蓝桥杯JavaA组省赛真题
  12. 网页在线视频播放大全
  13. 切西瓜(空间划分问题)
  14. 城市内涝一维二维耦合技术及在城市排水防涝领域中的实践应用
  15. (转)虎扑论坛基因探秘:社群用户行为数据洞察
  16. 计算机图形学 绘制正四面体
  17. 基于用户组织角色权限和资源的五要素
  18. 无胁科技-TVD每日漏洞情报-2022-8-1
  19. 福建公共交易平台portal-sign
  20. Java~二叉树的前中后序遍历的几种方式(递归法,迭代法,标记法等)

热门文章

  1. 你迷茫的原因在于读书太少而想的太多!!!
  2. Java实现简单井字棋(OX游戏)V2.0
  3. 简易影视小程序v1.0.1版本新增过审功能
  4. js给页面给某个id赋值_js 给元素id赋值
  5. 年仅38岁!985高校一特聘研究员因病去世,令人痛惜
  6. 计算机看个人还是看学校,学姐知道 | 学姐,男朋友是学校发还是自己带?
  7. breeze densematrix 基本操作
  8. 浏览器同源策略,跨域(跨源)
  9. [gotoac]数论公式
  10. 搭建 Jest+ Enzyme 测试环境