Azure 文件存储云文件

Azure FileStorage CloudFile

我正在尝试以编程方式下载我刚刚保存到 Azure 文件存储中的文件,我得到了

{"The remote server returned an error: (400) Bad Request."}

当我调用 DownloadToStream 方法时。哪里做错了?
任何帮助将不胜感激。谢谢!

代码如下:

        var combinedRelativeDirectory = GetCloudDirectory(relativePath);
        CloudFile cloudFile = null;

        cloudFile = combinedRelativeDirectory.GetFileReference(filename);
        var memoryStream = new MemoryStream();

        cloudFile.DownloadToStream(memoryStream, AccessCondition.GenerateIfExistsCondition());
        memoryStream.Position = 0;
        return memoryStream;

我可以使用您的代码重现您的问题。通过查看来自 Fiddler 的响应消息。我发现详细的错误消息是 'Condition headers are not supported.'。删除 AccessCondition.GenerateIfExistsCondition() 参数后,代码可以正常工作。

cloudFile.DownloadToStream(memoryStream);

如果你想在下载文件之前检查文件是否存在,你可以使用Exists方法。

if (file.Exists())
{
    file.DownloadToStream(memoryStream);
}