与SpringBoot 集成,OSS 简单上传组件一行代码实现上传
1、添加依赖
<!--阿里云OSS的SDK-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>2.8.2</version>
<exclusions>
<exclusion>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</exclusion>
<exclusion>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
</exclusion>
</exclusions>
</dependency>
2、编写配置类
根据OSS 的实际情况填写配置
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
/**
* @author Created by 谭健 on 2018/11/30. 星期五. 10:40.
* © All Rights Reserved.
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class OSSConfig {
public static final String ACCESS_KEY_ID = "****";
public static final String ACCESS_KEY_SECRET = "****";
public static final String END_POINT = "*****";
public static final String BUCKET = "****";
public static final String HOST = "https://" + BUCKET + "." + END_POINT;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public static class Dir {
public static final String IMG = "img/";
}
}
3、编写上传组件
import com.aliyun.oss.OSSClient;
import com.zyb.mini.mall.config.OSSConfig;
import com.zyb.mini.mall.utils.UUID;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.io.InputStream;
/**
* @author Created by 谭健 on 2018/12/3. 星期一. 16:32.
* © All Rights Reserved.
* <p>
* oss 组件
*/
@Component
@Slf4j
public class OssComponent {
/**
* 文件上传
*
* @param inputStream 输入流
* @param dir see
* @param suffix 文件后缀
* @see OSSConfig.Dir
*/
public String upload(InputStream inputStream, String suffix, String dir) {
if (inputStream == null) {
log.error("通过OSS 简单上传时,输入流为空");
return "";
}
String filename = dir + UUID.randomUUID() + "." + suffix;
OSSClient client = new OSSClient(OSSConfig.END_POINT, OSSConfig.ACCESS_KEY_ID, OSSConfig.ACCESS_KEY_SECRET);
client.putObject(OSSConfig.BUCKET, filename, inputStream);
client.shutdown();
return OSSConfig.HOST + "/" + filename;
}
}
4、使用注入或者new 对象进行操作
注入
@Autowired
private OssComponent oss;
new 对象
OssComponent oss = new OssComponent();