文件上传之oss服务器上传文件简笔
2021-03-08 03:26
标签:tin index -keep except public 对象 sharp ati info 阿里云的oss服务器存储文件: 1.在yml配置文件中配置:阿里云oss存储配置信息 2.在配置类中读取yml里面的配置信息i 3.初始化oss 4.上传: 5.注意点: 考虑到是一个公共上传,若是并发调用考虑加对象锁,总体来说,要有oss服务器,先初始化oss客户端 然后生成文件路径进行上传 6.删除文件服务器上的指定目录下文件: 7.检查是否上传成功 可以下载oss可视化工具 登录上去可以查看 上传 删除 复制文件路径等。为所欲为的人为操作 8.补充: 官网文档:https://help.aliyun.com/document_detail/84781.html?spm=a2c4g.11186623.6.707.5a0c1bd4CT02Ig pom文件引用: 文件上传之oss服务器上传文件简笔 标签:tin index -keep except public 对象 sharp ati info 原文地址:https://www.cnblogs.com/wlm-boke/p/12880032.html1 oss:
2 endpoint: oss-cn-xxxxxxxx.aliyuncs.com
3 accessKey: LTA....
4 accessKeySecret: LD.....
5 bucketName: xxxxxx6 staticDomain: ??
@Configuration
public class OssBootConfiguration {
@Value("${oss.endpoint}")
private String endpoint;
@Value("${oss.accessKey}")
private String accessKeyId;
@Value("${oss.accessKeySecret}")
private String accessKeySecret;
@Value("${oss.bucketName}")
private String bucketName;
@Value("${oss.staticDomain}")
private String staticDomain;
@Bean
public void initOssBootConfiguration() {
OssBootUtil.setEndPoint(endpoint);
OssBootUtil.setAccessKeyId(accessKeyId);
OssBootUtil.setAccessKeySecret(accessKeySecret);
OssBootUtil.setBucketName(bucketName);
OssBootUtil.setStaticDomain(staticDomain);
}
}
private static OSSClient initOSS(String endpoint, String accessKeyId, String accessKeySecret) {
if (ossClient == null) {
ossClient = new OSSClient(endpoint,
new DefaultCredentialProvider(accessKeyId, accessKeySecret),
new ClientConfiguration());
}
return ossClient;
}
//初始化oss客户端
initOSS(endPoint, accessKeyId, accessKeySecret);
StringBuilder fileUrl = new StringBuilder();
try {
//对象锁
// synchronized (file) {
//后缀前的数据
String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(‘.‘));
//拼接文件绝对路径
String fileUrl = fileUrl.append(fileDir + fileName);
PutObjectResult result = ossClient.putObject(bucketName, fileUrl, file.getInputStream());
// 设置权限(公开读)
ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
if (result != null) {
System.out.println("------OSS文件上传成功------" + fileUrl);
}
// }
} catch (IOException e) {
e.printStackTrace();
return null;
}
//初始化容器
initOSS(endPoint, accessKeyId, accessKeySecret);
//删除路径
String url = url;
log.info("删除文件服务器上的文件路径为:{}",url);
//删除文件服务器上的文件
ossClient.deleteObject(bucketName, url);
dependency>
groupId>com.aliyun.ossgroupId>
artifactId>aliyun-sdk-ossartifactId>
version>2.8.3version>
dependency>
或者
aliyun-sdk-oss
上一篇:Java项目 使用Logback
下一篇:a标签拖拽 href地址禁止显示