![JAR search and dependency download from the Maven repository](/logo.png)
love.keeping.starter.web.utils.UploadUtil Maven / Gradle / Ivy
The newest version!
package love.keeping.starter.web.utils;
import love.keeping.starter.common.constants.StringPool;
import love.keeping.starter.common.exceptions.impl.DefaultSysException;
import love.keeping.starter.common.utils.Assert;
import love.keeping.starter.common.utils.DateUtil;
import love.keeping.starter.common.utils.FileUtil;
import love.keeping.starter.common.utils.StringUtil;
import love.keeping.starter.web.common.utils.ApplicationUtil;
import love.keeping.starter.web.components.upload.UploadHandlerFactory;
import love.keeping.starter.web.components.upload.handler.UploadHandler;
import love.keeping.starter.web.service.SysParameterService;
import java.io.IOException;
import java.io.InputStream;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.multipart.MultipartFile;
@Slf4j
public class UploadUtil {
/**
* 上传文件
*
* @param file
* @return
*/
public static String upload(MultipartFile file) {
Assert.notNull(file);
SysParameterService sysParameterService = ApplicationUtil.getBean(SysParameterService.class);
String uploadTypeStr = sysParameterService.findByKey("upload.type", "LOCAL");
UploadHandler uploadHandler = UploadHandlerFactory.getInstance(uploadTypeStr);
String suffix = FileUtil.getSuffix(file.getOriginalFilename());
String fileName = IdUtil.getUUID();
String fullFileName =
fileName + (StringUtil.isEmpty(suffix) ? StringPool.EMPTY_STR : ("." + suffix));
try (InputStream is = file.getInputStream()) {
return uploadHandler.upload(is, getDefaultLocations(), fullFileName);
} catch (IOException e) {
log.error(e.getMessage(), e);
throw new DefaultSysException(e.getMessage());
}
}
/**
* 获取默认的locations
*
* @return
*/
private static List getDefaultLocations() {
LocalDate now = LocalDate.now();
List locations = new ArrayList<>();
locations.add(DateUtil.formatDate(now, "yyyy"));
locations.add(DateUtil.formatDate(now, "MM"));
locations.add(DateUtil.formatDate(now, "dd"));
return locations;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy