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);
}
}
文件上传
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 简介 看了不少的教程,在系统整合搭建的过程中一般写到文件上传这一节时,基本上实现一个文件上传功能就不再继续拓展,而...
- 一、如何在web页面中添加上传输入项? • 标签用于在web页面中添加文件上传输入项,设置文件上传输入项时须注意:...