开发者社区> 问答> 正文

.NET-SDK之如何实现管理文件(七)?


设置文件权限


文件权限的详细说明请参看 权限控制,您可以通过SetBucketAcl设置文件权限。

  1. using Aliyun.OSS;
  2. // 初始化OssClient
  3. var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
  4. /// <summary>
  5. /// 设置文件权限
  6. /// </summary>
  7. /// <param name="bucketName">文件所在存储空间的名称</param>
  8. /// <param name="key">文件的名称</param>
  9. public void SetObjectAclSample(string bucketName, string key)
  10. {
  11.     try
  12.     {
  13.         client.SetObjectAcl(bucketName, key, CannedAccessControlList.PublicRead);
  14.         Console.WriteLine("Set Object:{0} Acl succeeded ", key);
  15.     }
  16.     catch (Exception ex)
  17.     {
  18.         Console.WriteLine("Failed with error info: {0}", ex.Message);
  19.     }
  20. }

说明:
  • 文件的四种访问权限:private、public-read、public-read-write、default分别对应于CannedAccessControlList.Private、CannedAccessControlList.PublicRead、CannedAccessControlList.PublicReadWrite、CannedAccessControlList.Default。
  • 完整代码参考GitHub


读取文件权限


您可以通过GetBucketAcl读取文件权限。
  1. using Aliyun.OSS;
  2. // 初始化OssClient
  3. var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
  4. /// <summary>
  5. /// 读取文件权限
  6. /// </summary>
  7. /// <param name="bucketName">文件所在存储空间的名称</param>
  8. /// <param name="key">文件的名称</param>
  9. public void SetObjectAclSample(string bucketName, string key)
  10. {
  11.     try
  12.     {
  13.         var result = client.GetObjectAcl(bucketName, key);
  14.         Console.WriteLine("Get Object Acl succeeded,Id:{0} Acl:{1} succeeded",
  15.                            result.Owner.Id,  result.ACL.ToString());
  16.     }
  17.     catch (Exception ex)
  18.     {
  19.         Console.WriteLine("Failed with error info: {0}", ex.Message);
  20.     }
  21. }

说明: 完整代码参考 GitHub

展开
收起
青衫无名 2017-10-18 15:25:38 1760 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
从 SDK 到编解码:视频直播架构解析 立即下载
跨平台的云服务SDK需要什么 立即下载
一个跨平台的云服务SDK需要什么 立即下载