美文网首页
文件上传

文件上传

作者: xueyueshuai | 来源:发表于2024-11-27 15:44 被阅读0次
package com.xys.java_test.controller.test.xys;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
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.File;
import java.io.IOException;


@Slf4j
@RestController
@RequestMapping("/api/test/xys")
public class XysTestController {


    /**
     * url: /api/test/xys/test1
     */
    @PostMapping("test1")
    public String test1(@RequestParam("file") MultipartFile file) throws IOException {
        // 获取文件后缀
        String fileSuffix = FileUtil.getSuffix(file.getOriginalFilename());
        String dirPath = "upload/" + DateUtil.format(DateUtil.date(), "yyyyMMdd");
        String fileName = DateUtil.format(DateUtil.date(), "HH-mm-ss-SSS") + "-" + RandomUtil.randomInt(1000, 9999);

        // 创建一个实际要存储到的文件
        File targetFile = new File(StrUtil.format("{}/{}.{}", dirPath, fileName, fileSuffix));

        // 进行存储
        FileUtil.writeFromStream(file.getInputStream(), targetFile);

        // return
        return StrUtil.format("https://www.abc.com/{}/{}.{}", dirPath, fileName, fileSuffix);
    }
}

相关文章

网友评论

      本文标题:文件上传

      本文链接:https://www.haomeiwen.com/subject/nemcsjtx.html