Spring boot的上传图片功能实例详解

所属分类: 软件编程 / java 阅读数: 22
收藏 0 赞 0 分享

简介

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

特点

1. 创建独立的Spring应用程序
2. 嵌入的Tomcat,无需部署WAR文件
3. 简化Maven配置
4. 自动配置Spring
5. 提供生产就绪型功能,如指标,健康检查和外部配置
6. 绝对没有代码生成和对XML没有要求配置

下面一段代码给大家介绍Spring boot 上传图片功能,具体代码如下所示:

@ResponseBody
  @RequestMapping(path = "/save_photo", method={RequestMethod.POST})
  public void addDish(@RequestParam("photos") MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws Exception
  {
    String path = null;// 文件路径
    String json = "";
    if (file!=null) {// 判断上传的文件是否为空
      String type = null;// 文件类型
      String fileName = file.getOriginalFilename();// 文件原名称
      System.out.println("上传的文件原名称:"+fileName);
      // 判断文件类型
      type = fileName.indexOf(".")!=-1?fileName.substring(fileName.lastIndexOf(".")+1, fileName.length()):null;
      if (type!=null) {// 判断文件类型是否为空
        if ("GIF".equals(type.toUpperCase())||"PNG".equals(type.toUpperCase())||"JPG".equals(type.toUpperCase())) {
          // 项目在容器中实际发布运行的根路径
          String realPath = request.getSession().getServletContext().getRealPath("/");
          // 自定义的文件名称
          String trueFileName = String.valueOf(System.currentTimeMillis()) + "." + type;
          // 设置存放图片文件的路径
          path = realPath+/*System.getProperty("file.separator")+*/trueFileName;
          System.out.println("存放图片文件的路径:"+path);
          // 转存文件到指定的路径
          file.transferTo(new File(path));
          System.out.println("文件成功上传到指定目录下");         
          }
          json = "{\"res\":1}";
        }else {
          System.out.println("不是我们想要的文件类型,请按要求重新上传");
          //return null;
          json = "{\"res\":0}";
        }
      }else {
        System.out.println("文件类型为空");
        //return null;
        json = "{\"res\":0}";
      }
    }else {
      System.out.println("没有找到相对应的文件");
      json = "{\"res\":0}";
      //return null;
    }
    response.setContentType("application/json;charset=UTF-8");
    response.getWriter().print(json);
  }

首先注意的是参数要加

@RequestParam("photos") MultipartFile file

你的html可能就类似这样的

<form action="/save_photo" enctype="multipart/form-data" method="post">
<input type="file" name="photos" /> <br> 
<input type="submit" value="上传" /> 
</form>

以上所述是小编给大家介绍的Spring boot的上传图片功能实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

Java基础之反射原理与用法详解

这篇文章主要介绍了Java基础之反射原理与用法,结合实例形式详细分析了java反射的相关概念、原理、使用方法与操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

java字符串的截取方法substring()代码解析

这篇文章主要介绍了java字符串的截取方法substring()代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Mybatis一对多关联关系映射实现过程解析

这篇文章主要介绍了Mybatis一对多关联关系映射实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Java整数和字符串相互转化实例详解

这篇文章主要介绍了Java整数和字符串相互转化实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring Boot 项目设置网站图标的方法

这篇文章主要介绍了Spring Boot 项目设置网站图标的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java多态机制原理特点详解

在本篇文章里小编给大家分享的是关于java多态机制原理特点详解,有需要的朋友们可以跟着学习下。
收藏 0 赞 0 分享

Jmeter如何添加循环控制器

这篇文章主要介绍了Jmeter如何添加循环控制器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java虚拟机创建失败的原因整理

在本篇文章里小编给大家整理了关于创建java虚拟机失败的解决方法和知识点,需要的朋友们可以参考学习下。
收藏 0 赞 0 分享

Java如何把int类型转换成byte

这篇文章主要介绍了Java如何把int类型转换成byte,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

linux中java获取路径的实例代码

在本篇文章里小编给大家整理的是一篇关于linux中java获取路径的实例代码以及相关知识点,有兴趣的朋友们可以学习参考下。
收藏 0 赞 0 分享
查看更多