【问题标题】:Azure Blob Storage Image URL? iOSAzure Blob 存储图像 URL? iOS
【发布时间】:2018-07-11 03:19:39
【问题描述】:
我正在尝试检索容器中 blob 项的 URL。使用 Azure 的 instructions 我已成功上传图像并将图像作为数据检索,但这在我的情况下并不理想。
在 Azure 存储资源管理器中,实际上容器中的每个 blob 项都有一个 url,但我根本不知道如何在代码中获取它。有人能指出我正确的方向吗
【问题讨论】:
标签:
ios
azure-blob-storage
【解决方案1】:
在 Azure 存储资源管理器中,实际上容器中的每个 blob 项都有一个 url,但我根本不知道如何在代码中获取它。
事实上,我不太清楚你想要的是列出 blob url 还是获取 blob 项。两者都可以使用Azure Storage Client Library for iOS来实现。
所以,如果你想在容器中get the blob url,你可以使用辅助方法在每次返回延续令牌时递归调用列表blob方法。
对于 blob,基本 URI 包括帐户名称、容器名称和 blob 名称:
https://myaccount.blob.core.windows.net/mycontainer/myblob
例如:
https://storagename.blob.core.windows.net/container/a/b/c.txt
如果您将 get the blob item 在容器中,则可以将 blob 下载到 NSString 对象。
更详细的描述和代码,你可以阅读这个article。
【解决方案2】:
let containerURL = "https://yourstoragename.blob.core.windows.net/\(ContainerName)\(SASToken)"
var container : AZSCloudBlobContainer
var error: NSError?
container = AZSCloudBlobContainer(url: NSURL(string: containerURL)! as URL, error: &error)
if ((error) != nil) {
print("Error in creating blob container object. Error code = %ld, error domain = %@, error userInfo = %@", error!.code, error!.domain, error!.userInfo);
}
else {
let blob = container.blockBlobReference(fromName: "Image.png")
blob.downloadToFile(withPath: fromfile, append: true, completionHandler:{(NSError) -> Void in
var blobUrl = blob.storageUri.primaryUri
})
}