SpringBoot文件上传

先建工程

只勾选web和freemarker模板

最后

先看一下最终目录结构

先修改pom文件,加入common-io依赖

然后修改Application.yml文件

spring:
  freemarker:
    templateLoaderPath: classpath:/templates/
    content-type: text/html
    charset: UTF-8
    suffix: .ftl

然后新建一个controller

package com.example.demo.controller;

import org.apache.commons.io.FileUtils;
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;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;

@RestController
public class FileController {

    @RequestMapping("/index")
    public ModelAndView index(){
        ModelAndView mv = new ModelAndView("index");
        return mv;
    }

    @RequestMapping("/upload")
    public String upload(HttpServletRequest request, @RequestParam("myFile")MultipartFile file) throws IOException {
        if (file.isEmpty()) return "No File";

        String name = file.getOriginalFilename();
        System.out.println("FileName:" + name);

        String fileType = name.substring(name.lastIndexOf("."));
        System.out.println("FileType:" + fileType);

        String size = FileUtils.byteCountToDisplaySize(file.getSize());
        System.out.println("FileSize:" + size);

        String path = request.getSession().getServletContext().getRealPath("/static/img/");
        File desFile = new File(path+name);
        FileUtils.copyInputStreamToFile(file.getInputStream(), desFile);

        String info = desFile.getAbsolutePath();

        return info;
    }

}

最后新建一个页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>$Title$</title>
</head>
<body>
    <form method="post" action="/upload" enctype="multipart/form-data">
        <input type="file" name="myFile">
        <input type="submit" value="Upload">
    </form>
</body>
</html>

PS:这里没有启动类的事,因为启动类的上层没有任何代码(官方建议启动类放在根目录)

启动应用

..

..返回结果

..查看控制台

..找到本地文件

..看看可不可以访问

原文地址:https://www.cnblogs.com/LUA123/p/8460765.html

时间: 2024-08-30 16:54:47

SpringBoot文件上传的相关文章

springboot 文件上传大小配置

转自:https://blog.csdn.net/shi0299/article/details/69525848 springboot上传文件大小的配置有两种,一种是设置在配置文件里只有两行代码,一种是加个Bean. 第一种: application.properties中添加 spring.http.multipart.maxFileSize=10Mb spring.http.multipart.maxRequestSize=10Mb maxFileSize 是单个文件大小, maxRequ

SpringBoot 文件上传、下载、设置大小

本文使用SpringBoot的版本为2.0.3.RELEASE 1.上传单个文件 ①html对应的提交表单 <form action="uploadFile" method="post" enctype="multipart/form-data"> <p>选择文件: <input type="file" name="fileName"/></p> <p&

SpringBoot学习6:springboot文件上传

1.编写页面uploadFile.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>上传文件</title> </head> <body> <form action="uploadFile" method="post" enct

springboot文件上传报错

异常信息: org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request;nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.1978174608501890996.8083/work/Tomcat/localhost/pmap] is not vali

springboot文件上传: 单个文件上传 和 多个文件上传

单个文件上传 //文件上传统一处理 @RequestMapping(value = "/upload",method=RequestMethod.POST) @ResponseBody public WangEditor uploadFile( @RequestParam("myFile") MultipartFile multipartFile, HttpServletRequest request) { try { /*// 获取项目路径 String real

SpringBoot文件上传(MVC情况和webFlux情况)

MVC情况 引入依赖 <?xml version="1.0" encoding="UTF-8"?> <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/PO

SpringBoot——文件上传

目录 单文件上传 表单上传 ajax上传 多文件上传 表单上传 ajax上传 文件上传配置 方法一:在配置文件中添加配置 方法二:在启动类中添加Bean配置 踩坑经验 单文件上传 表单上传 1.前端表单 <form action="/upload" method="post" enctype="multipart/form-data"> <input type="file" name="file&q

springboot 文件上传下载

关键点: 1,使用 POST 请求2,consumes=MediaType.MULTIPART_FROM_DATA_VALUE3,@RequestParm 里面的字符串和前端 input 控件的 name 值一致 上传文件示例: @PostMapping(value="/photos", consumes=MediaType.MULTIPART_FROM_DATA_VALUE) public void addPhoto(@RequestParm("photo") M

springBoot(3)---目录结构,文件上传

目录结构,文件上传 一.目录结构 1.目录讲解 src/main/java:存放代码      src/main/resources                   static: 存放静态文件,比如 css.js.image, (访问方式 http://localhost:8080/js/main.js)                   templates:存放静态页面jsp,html,tpl                   config:存放配置文件,application.pr