当前位置:   article > 正文

关于App端使用微软云的一点笔记_azscloudblobcontainer

azscloudblobcontainer

1.创建一个存储账户
2.开发文档 https://docs.microsoft.com/zh-cn/azure/storage/blobs/storage-ios-how-to-use-blob-storage

存储之间的关系是 :在存储账户中创建容器,在容器中创建blob。
账户包含容器,容器中包含blob,blob中包含 上传的内容

创建容器时候容器名必须小写

配置连接字符串的作用,相当于配置文件:
a.连接到存储模拟器
b.访问存储账户
c.访问指定资源

查看配置文件的网址如下所示(后面的"xufei",是我自己在账户中创建的):
https://renmin.blob.core.windows.net/xufei/

上传的图片无法在浏览器查看,是因为没有读取的权限,修改容器的权限为读取权限就行了

以下是上传图片到微软云的代码:

  1. //注意这里的connectionStr 很重要,在账户中可以找到,
  2. //一定是https,否则会报错。
  3. NSString *connectionStr = @"DefaultEndpointsProtocol=https;AccountName=renmin;AccountKey=n0yVC/XguvDfvE4k3dIFWOnhNH85aEYnEjlrNKPkSoFPj5IOzd0H47yfiRuhM7WMTxF9fD6MMdfrcxoCBXAK+A==";
  4. NSError *error = nil;
  5. AZSCloudStorageAccount *account = [AZSCloudStorageAccount accountFromConnectionString:connectionStr error:&error];
  6. AZSCloudBlobClient *blobClient = [account getBlobClient];
  7. blobClient.defaultRequestOptions.serverTimeout = 30.0;
  8. NSString *containerName = @"xufei";
  9. AZSCloudBlobContainer *blobContainer = [blobClient containerReferenceFromName:containerName];
  10. [blobContainer createContainerIfNotExistsWithCompletionHandler:^(NSError* error,BOOL ret){
  11. NSLog(@"Error in creating container ==== %@",error);
  12. NSDate *date = [NSDate date];
  13. NSInteger timeInterval = (NSInteger)[date timeIntervalSince1970];
  14. NSString *imageName = @"";
  15. if ( isCover == true) {
  16. imageName = [NSString stringWithFormat:@"%ld.small.jpg",(long)timeInterval];
  17. }else{
  18. imageName = [NSString stringWithFormat:@"%ld.jpg",(long)timeInterval];
  19. }
  20. AZSCloudBlockBlob *blockBlob = [blobContainer blockBlobReferenceFromName:imageName];
  21. blockBlob.properties.contentType = @"image/jpeg";
  22. [blockBlob uploadFromData:data completionHandler:^(NSError * error) {
  23. if (error != nil) {
  24. //NSLog(@"error === %@",error);
  25. if (complete) {
  26. complete(@"",error);
  27. }
  28. }else{
  29. //将以下的imageUrl放在浏览器上是可以显示和下载的,下载之后是一张图片,如果不是图片修改存储器的权限为读写权限就好了。
  30. NSString *newImageUrl = [NSString stringWithFormat:@"%@%@",@"https://renmin.blob.core.windows.net/xufei/",imageName];
  31. if (complete) {
  32. complete(newImageUrl,nil);
  33. }
  34. }
  35. }];
  36. }];
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/284315
推荐阅读
相关标签
  

闽ICP备14008679号