SpringBoot-文件上传2

package cn.bdqn.controller;

import java.io.File;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

@Controller
@RequestMapping("/file")
public class FileController {

    private static final Logger logger = LoggerFactory
            .getLogger(FileController.class);

    @RequestMapping("upload")
    @ResponseBody
    public String upload(@RequestParam("file") MultipartFile file) {
        if (file.isEmpty()) {
            return "文件为空";
        }
        // 获取文件名
        String filename = file.getOriginalFilename();
        logger.info("上传的文件名为: " + filename);

        // 获取文件的后缀名
        // String suffixName=filename.substring(filename.lastIndexOf("."));
        // logger.info("上传的后缀名为: "+suffixName);

        // 避免上传的文件重名
        filename = System.currentTimeMillis() + "-" + filename;

        // 文件上传路径
        String filepath = "d:/upload/";

        // 解决中文问题,linux下中文路径,图片显示问题
        // filename= UUID.randomUUID()+suffixName;

        File dest = new File(filepath + filename);

        // 检测是否存在目录
        if (!dest.getParentFile().exists()) {
            dest.getParentFile().mkdirs();
            // mkdirs()创建文件夹
        }

        try {
            file.transferTo(dest);
            return "上传成功";
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "上传失败";

    }
}
<!DOCTYPE html>
<html>
<head lang="en">
    <title>Spring Boot Demo - FreeMarker</title>
</head>

<body>
    首页
   <form action="/file/upload" method="POST" enctype="multipart/form-data" >
   文件:<input type="file" name="file" />
   <input type="submit" value="上传" />
   </from>

</body>
</html>

application.properties文件

#配置端口
server.port=8080
#时间格式化
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
#设置时区
spring.jackson.time-zone=Asia/Chongqing

#默认支持文件上传
spring.http.multipart.enabled=true 
#支持文件写入磁盘
spring.http.multipart.file-size-threshold=0
#上传文件的临时目录
spring.http.multipart.location=
#最大支持文件大小
spring.http.multipart.max-file-size=5Mb
#最大支持请求大小
spring.http.multipart.max-request-size=10Mb



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值