• SpringBoot之文件上传


     1 package org.springboot.controller;
     2 
     3 import org.apache.logging.log4j.LogManager;
     4 import org.apache.logging.log4j.Logger;
     5 import org.springboot.constant.Constant;
     6 import org.springframework.stereotype.Controller;
     7 import org.springframework.web.bind.annotation.*;
     8 import org.springframework.web.multipart.MultipartFile;
     9 
    10 import java.io.File;
    11 import java.io.IOException;
    12 
    13 /**
    14  * @Auther:GongXingRui
    15  * @Date:2018/12/25
    16  * @Description: 文件下载
    17  **/
    18 @Controller
    19 public class FileUpload {
    20     Logger logger = LogManager.getLogger(FileUpload.class);
    21 
    22     @GetMapping("/upload")
    23     public String upload() {
    24         return "upload";
    25     }
    26 
    27     @PostMapping("/upload")
    28     @ResponseBody
    29     public String upload(@RequestParam("file") MultipartFile file) {
    30         if (file.isEmpty()) {
    31             return "上传失败,请选择文件";
    32         }
    33 
    34         String fileName = file.getOriginalFilename();
    35 //        String filePath = "C:/Temp/upload";
    36         String filePath = Constant.CONFIG_PROPERTIES.getProperty("upload.path");
    37         File dest = new File(filePath + File.separator + fileName);
    38         //判断文件是否已经存在
    39         if (dest.exists()) {
    40             logger.info("文件已经存在 -> " + dest.getPath());
    41         }
    42         if (!dest.getParentFile().exists()) {
    43             dest.getParentFile().mkdirs();
    44             logger.info("目录不存在,自动创建 -> " + dest.getParentFile().getPath());
    45         }
    46         try {
    47             file.transferTo(dest);
    48             logger.info("上传成功");
    49             return "上传成功";
    50         } catch (IOException e) {
    51             logger.error(e.toString(), e);
    52         }
    53         return "上传失败!";
    54     }
    55 }
  • 相关阅读:
    【译文】四十二种谬误(一)
    .NET笔记(二)
    设计模式C#实现(十六)——中介者模式
    设计模式C#实现(十五)——命令模式
    《程序员修炼之道》笔记
    《学会提问》读书笔记
    设计模式C#实现(十四)——责任链模式
    设计模式C#实现(十三)——享元模式(蝇量模式)
    学以致用——读《学会提问》
    访问苹果开发者网站太慢
  • 原文地址:https://www.cnblogs.com/gongxr/p/10189244.html
Copyright © 2020-2023  润新知