oss上传

it2022-05-05  164

首先阿里云申请,这个自行上阿里云按照指示申请,这里只写java代码引用

 

配置文件yml

oss: endPoint:  accessKeyId:  accessKeySecret:  bucketName: 

这四个自行配置

上传类

public class OSSClientWrapper { static Logger log = Logger.getLogger(OSSClientWrapper.class); @Value("${oss.endPoint}") private String endPoint; // endpoint是访问OSS的域名。如果您已经在OSS的控制台上 创建了Bucket,请在控制台上查看域名。

@Value("${oss.accessKeyId}") private String accessKeyId; // accessKeyId和accessKeySecret是OSS的访问密钥,您可以在控制台上创建和查看, @Value("${oss.accessKeySecret}") private String accessKeySecret;

@Value("${oss.bucketName}") private String bucketName; // Bucket用来管理所存储Object的存储空间,详细描述请参看“开发人员指南 > 基本概念 > OSS基本概念介绍”。

public String oss(MultipartFile file) {

// 日志配置,OSS Java SDK使用log4j记录错误信息。示例程序会在工程目录下生成“oss-demo.log”日志文件,默认日志级别是INFO。 // 日志的配置文件是“conf/log4j.properties”,如果您不需要日志,可以没有日志配置文件和下面的日志配置。 PropertyConfigurator.configure("log4j.properties");

log.info("Started");

// 生成OSSClient,您可以指定一些参数,详见“SDK手册 > Java-SDK > 初始化”, // 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/init.html?spm=5176.docoss/sdk/java-sdk/get-start OSSClient ossClient = new OSSClient(endPoint, accessKeyId, accessKeySecret); String url = null ; try {

// 判断Bucket是否存在。详细请参看“SDK手册 > Java-SDK > 管理Bucket”。 // 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init if (ossClient.doesBucketExist(bucketName)) { System.out.println("您已经创建Bucket:" + bucketName + "。"); } else { System.out.println("您的Bucket不存在,创建Bucket:" + bucketName + "。"); // 创建Bucket。详细请参看“SDK手册 > Java-SDK > 管理Bucket”。 // 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init ossClient.createBucket(bucketName); }

// 查看Bucket信息。详细请参看“SDK手册 > Java-SDK > 管理Bucket”。 // 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init BucketInfo info = ossClient.getBucketInfo(bucketName); System.out.println("Bucket " + bucketName + "的信息如下:"); System.out.println("\t数据中心:" + info.getBucket().getLocation()); System.out.println("\t创建时间:" + info.getBucket().getCreationDate()); System.out.println("\t用户标志:" + info.getBucket().getOwner());

// 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/upload_object.html?spm=5176.docoss/user_guide/upload_object InputStream is = new ByteArrayInputStream(file.getBytes()); ossClient.putObject(bucketName, file.getOriginalFilename(), is); url = "http://"+bucketName+"."+endPoint+"/"+file.getOriginalFilename();// URL url = ossClient.generatePresignedUrl(bucketName, file.getOriginalFilename(),new Date()); log.info(url.toString());; System.out.println("Object:" + file.getOriginalFilename() + "存入OSS成功。");

} catch (OSSException oe) { oe.printStackTrace(); } catch (ClientException ce) { ce.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { ossClient.shutdown(); } log.info("Completed"); return url; } public void deleteOss(String filePath) { OSSClient ossClient = new OSSClient(endPoint, accessKeyId, accessKeySecret); ossClient.deleteObject(bucketName, filePath); }}

转载于:https://www.cnblogs.com/whb11/p/9989895.html


最新回复(0)