文件上传
//配置文件储存路径
//这个路径是存储到我自己服务器的
//文件上传到服务器,那么必须把代码也同步上传、本地代码不能使文件储存进服务器
public static final String storageUrl="/www/wwwroot/xianyu.shanxi.cc/file/";
//也可以在本地新建文件夹用来储存、这个可以本地运行 无需上传服务器
public static final String storageUrl="I:\feil";
//方法类
/**
* 上传图片
* @param files
* @param request
* @return
*/
public static String upload(MultipartFile files, HttpServletRequest request) {
String fileName = null;
//原文件名
String originaileName = files.getOriginalFilename();
System.out.println(originaileName);
//文件格式
String suffix = originaileName.substring(originaileName.lastIndexOf("."));
//文件名改为当前时间戳
long time = System.currentTimeMillis();
fileName = time + "" + suffix;
//文件储存路径
String filePath = Config.storageUrl;
//文件全路径
File targetFile = new File(filePath + originaileName);
String targetPath=targetFile.toString();
System.out.println(targetPath);
try {
//获取输入流
InputStream is = files.getInputStream();
//获取输出流
OutputStream os = new FileOutputStream(new File(String.valueOf(targetFile)));
//开始复制
int i = 0;
byte[] bytes = new byte[1024];
while ((i = is.read(bytes)) != -1) {
os.write(bytes, 0, i);
}
os.close();
is.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
// request.getScheme();//返回当前页面使用的协议,http 或是 https;
// request.getHeader(host);//获取请求服务器的主机
//返回的是我的域名+文件名称
return "http://snailcarwash.datangyun.cc/file/"+originaileName;
}
//接口
/**
* 上传图片
* @param files
* @param request
* @return
* @throws Exception
*/
@PostMapping("/upload")
public AjaxJson upload(@RequestParam("files") MultipartFile files,
HttpServletRequest request) throws Exception {
return AjaxJson.success("上传服务器成功").put("data", UploadUtil.upload(files, request));
}