package com.javaweb.oss.cloud; import com.javaweb.common.utils.DateUtils; import org.apache.commons.lang.StringUtils; import java.io.InputStream; import java.util.UUID; /** * 云存储(支持七牛、阿里云、腾讯云、又拍云) */ public abstract class CloudStorageService { /** 云存储配置信息 */ CloudStorageConfig config; public int getService() { return config.getType(); } /** * 文件路径 * @param prefix 前缀 * @param suffix 后缀 * @return 返回上传路径 */ public String getPath(String prefix, String suffix) { // 生成uuid String uuid = UUID.randomUUID().toString().replaceAll("-", ""); // 文件路径 String path = DateUtils.dateTime() + "/" + uuid; if (StringUtils.isNotBlank(prefix)) { path = prefix + "/" + path; } return path + suffix; } /** * 文件上传 * @param data 文件字节数组 * @param path 文件路径,包含文件名 * @return 返回http地址 */ public abstract String upload(byte[] data, String path); /** * 文件上传 * @param data 文件字节数组 * @param suffix 后缀 * @return 返回http地址 */ public abstract String uploadSuffix(byte[] data, String suffix); /** * 文件上传 * @param inputStream 字节流 * @param path 文件路径,包含文件名 * @return 返回http地址 */ public abstract String upload(InputStream inputStream, String path); /** * 文件上传 * @param inputStream 字节流 * @param suffix 后缀 * @return 返回http地址 */ public abstract String uploadSuffix(InputStream inputStream, String suffix); }