OSS的簡單使用

https://help.aliyun.com/document_detail/84781.html?spm=a2c4g.11186623.4.1.7bef59aakn5jmz

Object Storage Service,簡稱 OSS,是阿里雲提供的海量、安全、低成本、高可靠的雲存儲服務。

它具有與平臺無關的RESTful API接口,能夠提供99.999999999%的服務持久性。

使用場景:
圖片分享
熱點視頻

下面介紹一些基本功能:

初始化 創建存儲空間 上傳文件 跨域訪問設置 設置讀寫權限
1.初始化

創建一個OssClient,就可以很方便的調用OSS的方法。

   const string accessKeyId = "xxxxxxxxx";                  
   const string accessKeySecret = "xxxxxxxxxx"; 
   const string endpoint = "oss-cn-beijing.aliyuncs.com";           //OSS對應的區域地址
   private static OssClient ossClient = new OssClient(endpoint, accessKeyId, accessKeySecret);

2.創建存儲空間

很簡單,只需要調用OssClient.CreateBucket

   ossClient.CreateBucket("myBucket");      //新建一個Bucket

3.設置讀寫權限

調用OssClient.SetBucketAcl

 ossClient.SetBucketAcl("myBucket", CannedAccessControlList.PublicRead);  //設置爲公共讀

CannedAccessControlList有三個屬性:Private(私有),PublicRead(公共讀),PublicReadWrite(公共讀寫)
4.跨域訪問設置
調用OssClient.SetBucketCors

var req = new SetBucketCorsRequest("myBucket");
   var rule = new CORSRule();
   //指定允許跨域請求的來源
   rule.AddAllowedOrigin("*");
   //指定允許的跨域請求方法(GET/PUT/DELETE/POST/HEAD)
   rule.AddAllowedMethod("POST");
   //控制在OPTIONS預取指令中Access-Control-Request-Headers頭中指定的header是否允許。
   rule.AddAllowedHeader("*");

   req.AddCORSRule(rule);
   ossClient.SetBucketCors(req);

5.上傳文件

調用OssClient.PutObject

   var result = ossClient.PutObject("myBucket", "111.mp4", @"d:\237badef-0f6d-4a8e-a634-a44c9704b6e6.mp4");
   Console.WriteLine(result.ETag);

6.列出存儲空間中的所有文件

調用ossClient.ListObjects

   var listObjectsRequest = new ListObjectsRequest("myBucket");
   var result = ossClient.ListObjects(listObjectsRequest);
   Console.WriteLine("List objects succeeded");
   foreach (var summary in result.ObjectSummaries)
   {
       Console.WriteLine("File name:{0}", summary.Key);
   }

詳細筆記-jsweb直接提交:
http://www.cnblogs.com/wumian1360/p/8486726.html

阿里事例:

// Endpoint以杭州爲例,其它Region請按實際情況填寫。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄 https://ram.console.aliyun.com 創建RAM賬號。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";

// 創建OSSClient實例。
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);

// 上傳文件。<yourLocalFile>由本地文件路徑加文件名包括後綴組成,例如/users/local/myfile.txt。
ossClient.putObject("<yourBucketName>", "<yourObjectName>", new File("<yourLocalFile>"));

// 關閉OSSClient。
ossClient.shutdown();

記錄;

@Autowired
	private OdsConfig config;

	public String put(String key, String name, InputStream io, long length, String contentType) {
		OSSClient client = new OSSClient(config.getEndpoint(), config.getAk(), config.getSk());
		ObjectMetadata meta = new ObjectMetadata();
		meta.setContentLength(length);
		meta.setContentType(contentType);
		String path = key + "/" + name;
		PutObjectResult result = client.putObject(config.getBucket(), path, io, meta);
		System.out.println(meta.getETag());
		System.out.println(result.getETag());
		return config.getBaseUrl() + "/" + path;
	}



@Test
	public void testPutObject() throws IOException {
		String filename = "dog.png";
		File file = new File("D:\\" + filename);
		InputStream io = FileUtils.openInputStream(file);
		long length = file.length();
		String url = ossService.put("animals", filename, io, length, "");
		System.out.println(url);
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章