controller
package cn.silence.upload.controller;
import cn.hutool.core.io.file.FileWriter;
import cn.hutool.core.util.StrUtil;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.IOException;
/**
* docker build -f ./dockerFile -t springboot_app .
* docker run -id --name springboot_app -p8081:8081 -v /root/tomcat/images:/root/images springboot_app
* 文件上传
*
* @author silence
* createTime 2021-12-26-16:48
*/
@RestController
@RequestMapping("/file")
public class UploaderController {
@PostMapping("/upload")
public String uploader(String path, MultipartFile file) throws IOException {
if (file.getSize() == 0) {
return "文件大小为0";
}
String linuxPath = StrUtil.isBlank(path) ? "/root/images" : "/root/images/" + path;
File fi = new File(linuxPath);
if (fi.exists()) {
if (fi.mkdirs()) {
return linuxPath + "文件路径不存在,自动创建失败";
}
}
String fileName = "/" + System.currentTimeMillis() + file.getOriginalFilename();
BufferedOutputStream out = FileWriter.create(new File(linuxPath, fileName)).getOutputStream();
try {
out.write(file.getBytes());
return "success";
} catch (IOException e) {
e.printStackTrace();
return "写入错误" + e.getLocalizedMessage() + "||" + e.getMessage();
}
}
}
dockerFile
FROM java:8
MAINTAINER silence丶你的名字
ADD upload-0.0.1-SNAPSHOT.jar springboot_upload.jar
CMD java -jar springboot_upload.jar