package com.copote.common.utils;
import com.copote.common.constant.FileConst;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
/**
* 文件上传工具类
*/
public class UploadUtil {
/**
* 将MultipartFile转化为file并保存到服务器上的某地
*/
public static String saveFileFromInputStream(MultipartFile file,String path,String fileName) throws IOException {
OutputStream os = null;
InputStream inputStream;
String url =null;
inputStream = file.getInputStream();
if(StringUtils.isEmpty(fileName)){
fileName = file.getOriginalFilename(); //文件名称,带后缀
}
if(StringUtils.isEmpty(path)){
path = FileConst.UPLOAD_PATH;
}
try {
byte[] bs = new byte[1024*1024];// 1K的数据缓冲
// 读取到的数据长度
int len;
// 输出的文件流保存到本地文件
File tempFile = new File(path);
if (!tempFile.exists()) {tempFile.mkdirs();}
url = tempFile.getPath() + File.separator + fileName;
os = new FileOutputStream(url);
// 开始读取
while ((len = inputStream.read(bs)) != -1) {
os.write(bs, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}finally {
// 完毕,关闭所有链接
try {
if(os != null){
os.close();
}
if(inputStream != null){
inputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return url;
}
/**
* 删除文件
* @param path 文件链接路径
*/
public static void deleteFileByPath(String path){
File file=new File(path);
if(file.exists()&&file.isFile()){
file.delete();
}
}
}