zoukankan      html  css  js  c++  java
  • springboot整合springmvc上传文件

    1.pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.10.RELEASE</version>
      </parent>
      <groupId>com.mr.li</groupId>
      <artifactId>springboot_002</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      
      <!-- 修改jdk版本 -->
      <properties>
          <java.version>1.7</java.version>
      </properties>
      
      <dependencies>
          <!-- 添加web启动器 -->
          <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
      </dependencies>
      
    </project>

    2.controller

    package com.mr.li.controller;
    
    import java.io.File;
    import java.util.HashMap;
    import java.util.Map;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.multipart.MultipartFile;
    
    @RestController //此注解的意思是:将所有方法的返回值转为json串,相当于@Controller + 方法上的@ResponseBody
    public class FileUploadController {
    
        /**
         * 如果上传的地方upload.html中的名称如果和这里的参数MultipartFile名称一致的话就不用加@RequestParm注解,
         * 上传的名称为:filename,而这里接受的却为multipartFile,所以为了可以接受到就将名字注解一下,或者改为一致也行。
         * 至于RequestMapping中的参数要和上传时的action参数一致,这样上传的时候才能访问到本方法。
         * @param multipartFile springMvc封装好的一个文件对象,其中可以包括:图片,音频,视频,文本....
         * @return
         * @throws Exception
         */
        @RequestMapping("/fileUpload")
        public Map<String, Object> upload(@RequestParam("filename") MultipartFile multipartFile) throws Exception{
            System.out.println("文件名:"+multipartFile.getOriginalFilename());
            //保存文件
            multipartFile.transferTo(new File("e:/"+multipartFile.getOriginalFilename()));
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("msg", "ok");
            return map;
        }
    }

    3.application.properties

    #配置单次上传文件的大小
    spring.http.multipart.maxFileSize=100MB
    #配置此次上传文件的总大小
    spring.http.multipart.maxRequestSize=200MB

    4.辅助上传:upload.html

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>文件上传</title>
    </head>
    <body>
    
        <form action="fileUpload" method="post" enctype="multipart/form-data">
            上传:<input type="file" name="filename"/>
            <input type="submit"/>
        </form>
    </body>
    </html>

    访问路径:http://localhost:8080/fileUpload

    项目结构;

  • 相关阅读:
    蛙蛙推荐:用.net 4.0构建新浪微博开发平台应用
    蛙蛙推荐:Backbone官方文档翻译
    蛙蛙推荐:javascript异步任务流
    蛙蛙推荐:sqlserver三种分页方式性能比较
    蛙蛙推荐:css背景图片固定居中,div阴影,背景半透明,div圆角,DIV渐变
    如何高效的利用新浪微博获取信息
    蛙蛙推荐:gevent并发发送UDP包演示
    蛙蛙推荐:神马ORM都是浮云,看看史上最简单最好用的OleDbHelper
    蛙蛙推荐:写了一个简单的延迟队列
    PostgreSQL中with和without time zone两者有什么区别 规格严格
  • 原文地址:https://www.cnblogs.com/li-yan-long/p/10775862.html
Copyright © 2011-2022 走看看