spring boot 整合MultipartFile 上传 xlsx文件教程

package com.example.login;
import com.example.util.DateUtilS;
import com.example.util.EasyExcelUtil;
import com.example.util.ReSultMapUtil;
import org.apache.commons.io.IOUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import org.springframework.beans.factory.annotation.Value;

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 java.io.*;
import java.util.HashMap;
import java.util.Map;

@RestController
public class FileuploadController {
    
    @Value("${file.upload-dir}")
    private String uploadDir;
    Logger log= LogManager.getLogger(FileuploadController.class);
    
    @RequestMapping("/api/public/importstudent")
    public String importstudent(@RequestParam("file") MultipartFile[] files ){
        StringBuilder result = new StringBuilder();
        FileOutputStream out = null;
        InputStream inputStream=null;
        for (MultipartFile file : files) {
            if (!file.isEmpty()) {
                try {


                     inputStream=file.getInputStream();
                    String fileName =   uploadDir+File.separator+ DateUtilS.createDateStr()+".xlsx";

                    out = new FileOutputStream(fileName); // 本地目标文件
                    IOUtils.copy(inputStream, out);
                    Map map=new HashMap();

                    return  ReSultMapUtil.buildSuccessMesage(map);
                } catch (IOException e) {
                    result.append("文件 '").append(file.getOriginalFilename()).append("' 上传失败(").append(e.getMessage()).append(");");
                }finally {
                    try {
                        out.close();
                        inputStream.close();

                    } catch (IOException e) {
                        Map map=new HashMap();
                        e.printStackTrace();
                        return  ReSultMapUtil.builderrorMesage(map);

                    }
                }
            }
        }
        return result.toString();

    }
}

application.yml

# 服务器端口
server:
  port: 8081


file:
   upload-dir: D://path//to
servlet:
   multipart:
       max-file-size: 10MB  # 单个文件上传的最大大小,这里设置为10MB
       max-request-size: 20MB  # 整个请求(包含所有文件和其他表单数据)的最大大小,这里设置为20MB



# 日志级别
logging:
  level:
    root: DEBUG
    com.example.dao: DEBUG

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值