PHP上传到Azure存储后获取Blob URL

时间:2016-12-21 21:50:42

标签: php azure azure-storage azure-storage-blobs

在.NET Azure存储SDK中,当您上传blob时,您必须创建一个blob引用,并在上传此blob后,填充一些元数据。

CloudBlockBlob blob = container.GetBlockBlobReference(fileName);

因此,在上传文件后,我可以使用

获取azure存储网址
blob.Uri.AbsoluteUri

但对于PHP,调用createBlockBlob方法返回的CopyBlobResult对象不包含blob url。

我怎样才能得到它?

1 个答案:

答案 0 :(得分:1)

由于模型CopyBlobResult不包含blob的属性import time from threading import Thread ip = '192.168.0.' count = 0 while count <= 255: print(count) # a list to keep your threads while they're running alist = [] for i in range(10): # count must be increased here to count threads to 255 count += 1 ipg=ip+str(count) t = Thread(target=conn, args=(ipg,80)) t.start() alist.append(t) # check if threads are still running while len(alist) > 0: time.sleep(0.01) for t in alist: if not t.isAlive(): # remove completed threads alist.remove(t) 。由于Storage SDK for PHP使用REST APIS实现,根据https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Put-Blob?redirectedfrom=MSDN,API不响应blob的URL。

在Storage SDK存储库中,我们可以发现Blob模型包含url属性,并在list blobs中使用。

实际上,blob的网址很简单,因此我们可以在将blob成功更新到Azure后自行生成它。没有必要利用SDK。

Blob的网址格式应为:url