package org.jeecg.common.util;
|
|
import org.jeecg.common.constant.CommonConstant;
|
import org.jeecg.common.util.oss.OssBootUtil;
|
import org.jeecgframework.poi.util.PoiPublicUtil;
|
import org.springframework.util.FileCopyUtils;
|
|
import java.io.ByteArrayInputStream;
|
import java.io.File;
|
import java.io.InputStream;
|
|
public class CommonUtils {
|
|
public static String uploadOnlineImage(byte[] data,String basePath,String bizPath,String uploadType){
|
String dbPath = null;
|
String fileName = "image" + Math.round(Math.random() * 100000000000L);
|
fileName += "." + PoiPublicUtil.getFileExtendName(data);
|
try {
|
if(CommonConstant.UPLOAD_TYPE_LOCAL.equals(uploadType)){
|
File file = new File(basePath + File.separator + bizPath + File.separator );
|
if (!file.exists()) {
|
file.mkdirs();// 创建文件根目录
|
}
|
String savePath = file.getPath() + File.separator + fileName;
|
File savefile = new File(savePath);
|
FileCopyUtils.copy(data, savefile);
|
dbPath = bizPath + File.separator + fileName;
|
}else {
|
InputStream in = new ByteArrayInputStream(data);
|
String relativePath = bizPath+"/"+fileName;
|
if(CommonConstant.UPLOAD_TYPE_MINIO.equals(uploadType)){
|
dbPath = MinioUtil.upload(in,relativePath);
|
}else if(CommonConstant.UPLOAD_TYPE_OSS.equals(uploadType)){
|
dbPath = OssBootUtil.upload(in,relativePath);
|
}
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return dbPath;
|
}
|
|
/**
|
* 判断文件名是否带盘符,重新处理
|
* @param fileName
|
* @return
|
*/
|
public static String getFileName(String fileName){
|
//判断是否带有盘符信息
|
// Check for Unix-style path
|
int unixSep = fileName.lastIndexOf('/');
|
// Check for Windows-style path
|
int winSep = fileName.lastIndexOf('\\');
|
// Cut off at latest possible point
|
int pos = (winSep > unixSep ? winSep : unixSep);
|
if (pos != -1) {
|
// Any sort of path separator found...
|
fileName = fileName.substring(pos + 1);
|
}
|
//替换上传文件名字的特殊字符
|
fileName = fileName.replace("=","").replace(",","").replace("&","").replace("#", "");
|
return fileName;
|
}
|
}
|