我有一个 aspnet 应用程序,我将文件上传到 azure blobs。我知道 azure 不会在容器中创建结构路径,只是 blob,但您可以模拟在 uri 上放置“/”的目录。
即我会上传一个文件列表,我的 uri 是这样的
http://myaccount.windowsazure.blob.net/MyProtocolID-01/MyDocumentID-01/FileName01.jpg http://myaccount.windowsazure.blob.net/MyProtocolID-01/MyDocumentID-01/FileName02.jpg http:// myaccount.windowsazure.blob.net/MyProtocolID-01/MyDocumentID-01/FileName03.jpg
我的下载方法:
public RemoteFile Download(DownloadRequest request)
{
var fileFinal = string.Format("{0}/{1}/{2}",request.IDProtocol ,request.IDDocument, request.FileName);
var blobBlock = InitializeDownload(fileFinal);
if (!blobBlock.Exists())
{
throw new FileNotFoundException("Error");
}
var stream = new MemoryStream();
blobBlock.DownloadToStream(stream);
return File(request.FileName)
}
private CloudBlob InitializeDownload(string uri)
{
var blobBlock = _blobClient.GetBlobReference(uri);
return blobBlock;
}
这样,我只得到一个文件。但我需要查看并下载http://myaccount.windowsazure.blob.net/MyProtocolID-01/MyDocumentID-01/中的所有文件
谢谢