情话逆水寒小说
您的當前位置:首頁 > 建站知識

【蘭州網站建設】使用阿里云OSS上傳文件

時間:2019-05-19 00:00:07  作者:

1.控制臺操作
首先介紹一下阿里云OSS對象存儲的一些基本概念。
1.1 進入對象存儲界面
登錄阿里云賬號,進入對象存儲界面,如圖所示。
進入后如圖所示。
1.2 OSS基本概念
這里不過多介紹如何在阿里云上傳下載文件,這些操作基本上點一點都能找到。
1.2.1 Bucket
Bucket實質就是阿里云OSS對象存儲的一個存儲空間,按照計算機理解的話可以理解為一個磁盤(不知道這樣比喻是否恰當)。
創建桶的過程很簡單,如圖所示,填寫對應內容即可。
這里需要注意,不同分區的Endpoint是不同的,Endpoint在后續API使用過程中會用到。至于存儲類型和讀寫權限相關設置,都結合自身情況來使用,這里以標準存儲和私有權限為例進行介紹。
1.2.2 AccessKey
AccessKey是訪問阿里云API的秘鑰,這里也需要提前創建一份,創建后我們需要記住自己的AccessKey ID和Access Key Secret,如果忘記可以在如圖位置查詢。
2 API使用
2.1 API地址
一般使用對象存儲無非就是上傳和下載文件,完整API地址如下:
https://help.aliyun.com/document_detail/32015.html?spm=5176.8466032.bucket-object.1.33ac1450TuX65y
2.2 API使用準備
Java使用很簡單,直接在Maven中引用依賴,如下:
<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>2.8.3</version> </dependency>
2.3 構建OSSClient實例
這里就需要用到我們上面提到的endpoint和AccessKey,構建實例內容如下所示。
// Endpoint以杭州為例,其它Region請按實際情況填寫。 String endpoint = "http://oss-cn-beijing.aliyuncs.com"; // 使用剛剛創建的accessKeyId和accessKeySecret String accessKeyId = "<yourAccessKeyId>"; String accessKeySecret = "<yourAccessKeySecret>"; // 創建OSSClient實例。 OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); //todo 對OSS進行操作 // 關閉OSSClient。 ossClient.shutdown();
2.4 上傳文件
上傳文件常用的方式大致為兩種,一種是返回可以查看文件的地址,另外一種是通過地址可以直接下載文件。
2.4.1 上傳文件,返回可以預覽圖片的地址
上傳文件有一些需要注意的地方:
1.文件名不要重復,不然會覆蓋。
2.建議將不同日期的文件分別創建一個文件夾方便區分。
這里先以上傳本地桌面的一個圖片為例,上傳后在Bucket內自動創建日期格式yyyyMMdd的文件夾存放文件,文件名按照當前時間戳加隨機數的形式拼接,由于返回的URL是帶有簽名信息的,所以這里暫時設置過期時間為一小時,如果需要可以將時間加長。
完整內容如下所示:
package com.dalaoyang.upload; import com.aliyun.oss.OSSClient; import java.io.File; import java.net.URL; import java.security.SecureRandom; import java.text.SimpleDateFormat; import java.util.Date; public class AliyunUpload { public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); String endpoint = "http://oss-cn-beijing.aliyuncs.com"; String accessKeyId = "LTAIRr3alAhROGTA"; String accessKeySecret = "******"; String fileName = "/Users/dalaoyang/Desktop/aliyun.jpeg"; String bucketName = "dalaoyang-test"; // 獲取文件的后綴名 String suffixName = fileName.substring(fileName.lastIndexOf(".")); // 生成上傳文件名 String finalFileName = System.currentTimeMillis() + "" + new SecureRandom().nextInt(0x0400) + suffixName; String objectName = sdf.format(new Date()) + "/" + finalFileName; File file = new File(fileName); OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); ossClient.putObject(bucketName, objectName, file); // 設置URL過期時間為1小時。 Date expiration = new Date(System.currentTimeMillis() + 3600 * 1000); // 生成以GET方法訪問的簽名URL,訪客可以直接通過瀏覽器訪問相關內容。 URL url = ossClient.generatePresignedUrl(bucketName, objectName, expiration); ossClient.shutdown(); System.out.println(url.toString()); } }
返回地址格式如下:
http://dalaoyang-test.oss-cn-beijing.aliyuncs.com/20190518/1558155342968407.jpeg?Expires=15

Copyright © 2010-2018 風魔科技 版權所有      

售前咨詢
售后服務
15339852636
情话逆水寒小说 广州沐足和按摩的区别 福建时时技巧 时时彩全天独胆计划网 飞艇助赢计划软件app 欢乐生肖游戏怎么玩 五码两期计划 长沙站街女哪里最多 领航计划软件 什么赚钱快稳 汇聚在线彩票平台 河北时时快三 重庆时时开奖历史结果查询 快三大小单双漏洞 时时彩后二计划网