update 上传阿里云oss

This commit is contained in:
2023-04-04 16:36:19 +08:00
parent 218c5715ac
commit 5acf8489cd
5 changed files with 193 additions and 0 deletions

View File

@@ -0,0 +1,98 @@
package com.jsowell.common.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "aliyunoss")
public class AliyunOssConfig {
/**
* 地域节点
*/
private String endpoint;
/**
* AccessKey
*/
private String accessKeyId;
/**
* AccessKey秘钥
*/
private String accessKeySecret;
/**
* bucket名称
*/
private String bucketName;
/**
* bucket下文件夹的路径
*/
private String filehost;
/**
* 访问域名
*/
private String url;
public String getEndpoint() {
return endpoint;
}
public void setEndpoint(String endpoint) {
this.endpoint = endpoint;
}
public String getAccessKeyId() {
return accessKeyId;
}
public void setAccessKeyId(String accessKeyId) {
this.accessKeyId = accessKeyId;
}
public String getAccessKeySecret() {
return accessKeySecret;
}
public void setAccessKeySecret(String accessKeySecret) {
this.accessKeySecret = accessKeySecret;
}
public String getBucketName() {
return bucketName;
}
public void setBucketName(String bucketName) {
this.bucketName = bucketName;
}
public String getFilehost() {
return filehost;
}
public void setFilehost(String filehost) {
this.filehost = filehost;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
@Override
public String toString() {
return "AliyunOssConfig{" +
"endpoint='" + endpoint + '\'' +
", accessKeyId='" + accessKeyId + '\'' +
", accessKeySecret='" + accessKeySecret + '\'' +
", bucketName='" + bucketName + '\'' +
", filehost='" + filehost + '\'' +
", url='" + url + '\'' +
'}';
}
}

View File

@@ -0,0 +1,55 @@
package com.jsowell.common.util.file;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.jsowell.common.config.AliyunOssConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
@Component
public class AliyunOssUploadUtils {
private static AliyunOssConfig aliyunOssConfig;
/**
* 使用构造方法注入配置信息
*/
@Autowired
public AliyunOssUploadUtils(AliyunOssConfig aliyunOssConfig) {
AliyunOssUploadUtils.aliyunOssConfig = aliyunOssConfig;
}
/**
* 上传文件
*
* @param file
* @return
* @throws Exception
*/
public static String uploadFile(MultipartFile file) throws Exception {
// 生成 OSSClient
OSS ossClient = new OSSClientBuilder().build(aliyunOssConfig.getEndpoint(), aliyunOssConfig.getAccessKeyId(), aliyunOssConfig.getAccessKeySecret());
// 原始文件名称
// String originalFilename = file.getOriginalFilename();
// 编码文件名
String filePathName = FileUploadUtils.extractFilename(file);
// 文件路径名称
filePathName = aliyunOssConfig.getFilehost() + "/" + filePathName;
try {
ossClient.putObject(aliyunOssConfig.getBucketName(), filePathName, file.getInputStream());
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
return aliyunOssConfig.getUrl() + "/" + filePathName;
}
}