欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-12 08:02:15
简介 spring boot是由pivotal团队提供的全新框架,其设计目的是用来简化新spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开...

简介

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的上传图片功能实例详解,希望对大家有所帮助