【发布时间】:2019-10-01 21:51:48
【问题描述】:
我在使用 Azure Blob 存储时遇到了另一个问题,这次是下载问题。我得到一个没有问题的文件列表,不幸的是,当我想下载它时,我收到一个 404 错误,表明找不到文件。
using System.IO;
using System.Linq;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
namespace BlobStorage
{
class Program
{
static void Main(string[] args)
{
CloudStorageAccount backupStorageAccount = CloudStorageAccount.Parse(
"{connectionString}");
var backupBlobClient = backupStorageAccount.CreateCloudBlobClient();
var backupContainer = backupBlobClient.GetContainerReference("{container-name");
var list = backupContainer.ListBlobs(useFlatBlobListing: true);
foreach (var blob in list)
{
var blobFileName = blob.Uri.Segments.Last();
CloudBlockBlob blockBlob = backupContainer.GetBlockBlobReference(blobFileName);
string destinationPath = string.Format(@"D:\" + blobFileName +".txt");
blockBlob.DownloadToFile(destinationPath, FileMode.OpenOrCreate);
}
}
}
}
错误信息:
Microsoft.WindowsAzure.Storage.StorageException:“远程服务器 返回错误:(404)未找到。”
内部异常WebException:远程服务器返回错误: (404) 未找到。
并指向行:
blockBlob.DownloadToFile (destinationPath, FileMode.OpenOrCreate);
像这样的文件最常存在于 Blob 存储中。当我进入blob版本时,将url复制到一个文件中,我可以通过浏览器毫无问题地下载它。不幸的是,由于 404 错误,我无法从应用程序级别下载它。
为什么会有这样的文件存在?
【问题讨论】:
-
您的 blob 是否在虚拟文件夹中?
-
是的,示例路径 tempdata/ExampleIotHub/02/2019/05/14/39
标签: azure azure-storage azure-blob-storage