码迷,mamicode.com
首页 > 其他好文 > 详细

OSS 对象存储的那些事AmazonS3简单使用

时间:2019-12-03 14:25:08      阅读:370      评论:0      收藏:0      [点我收藏+]

标签:也会   打包   maven   链接   sources   cli   简单   jar包   syn   

对象存储是根据AmazonS3来做的封装,主要功能 :文件的上传下载 生成链接 对图片的处理 查看桶内对象等一系列的操作。

本文主要做的是文件的上传下载生成链接以及前期的准备工作 以springboot项目为例。

首先先去开通官网开通对象存储服务,会给你accessKeysecretKey 两个密钥,

请求的地址也会给你 也就是网址

然后在后台创建一个桶 或者也可以代码创建,记住桶的名字,这个桶的概念相当于创建了一块属于你的存储空间,可以向里面存储

也可以去找他们客服去要sdk

技术图片

 拿到jar包引入到springboot项目中

在src同级目录创建libs文件夹技术图片

 

技术图片

 

 点击设置 假如libs文件夹

配置pom

 <dependency>
            <groupId>speedycloud</groupId>
            <artifactId>speedycloud-sdk-mns</artifactId>
            <version>1.1.8</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/speedycloud-sdk-mns-1.1.8.jar</systemPath>
 </dependency>

 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins> </build>

 允许打包

如果是是私服maven的话可以省略这两部 直接上传jar到maven

建立连接

private static synchronized AmazonS3 s3Client() {
BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
ClientConfiguration clientConfig = new ClientConfiguration();
clientConfig.setSignerOverride("S3SignerType");//凭证验证方式
clientConfig.setProtocol(Protocol.HTTP);//访问协议
return AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.withClientConfiguration(clientConfig)
.withEndpointConfiguration(
new AwsClientBuilder.EndpointConfiguration(//设置要用于请求的端点配置(服务端点和签名区域)
speedyURL,//我的网址
(Regions.CN_NORTH_1).toString())).withPathStyleAccessEnabled(true)//是否使用路径方式
.build();

}

s3Client().putObject(new PutObjectRequest(bucket,"ppo"+Thread.currentThread().getName(),file));
上传文件
可以以文件的方式和流的方式上传 以流的方式上传注意设置datamate 的上传报文如上传pdf文件
metadata.setContentType(“application/pdf”);
URL objectUrl = s3Client().generatePresignedUrl(new GeneratePresignedUrlRequest(BUCKET_NAME, key));
返回文件连接
S3Object object = s3Client().getObject(new GetObjectRequest(BUCKET_NAME, key));
下载文件(流)
所有的创建连接都是线程不安全的 注意并发问题
结束


OSS 对象存储的那些事AmazonS3简单使用

标签:也会   打包   maven   链接   sources   cli   简单   jar包   syn   

原文地址:https://www.cnblogs.com/liujiancheng/p/11976357.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!