OSS 對象存儲的那些事AmazonS3簡單使用


對象存儲是根據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));
下載文件(流)
所有的創建連接都是線程不安全的 注意並發問題
結束



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM