指定的blob不存在 - 在azure浏览器中显示 - 但是当我单击下载时不存在

时间:2013-09-19 15:08:55

标签: azure blob

我已将一些blob上传到azure。 当我登录时,它们会在浏览器中显示,但是当我尝试下载它们时,我收到以下消息:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>BlobNotFound</Code>
<Message>
The specified blob does not exist. RequestId:d3cd1a18-1e48-47bd-9985-4ab7e655eed2 Time:2013-09-19T15:02:16.4158548Z
</Message>
</Error>

浏览屏幕截图(显示blob)enter image description here

屏幕截图显示点击下载后会发生什么 enter image description here

4 个答案:

答案 0 :(得分:2)

我想我知道你为什么遇到这个问题。我认为这是门户网站的一个问题。如果您注意到,blob的名称是:Tommy French Toals.North Street.1250251,它包含空格。但是,如果您查看名称来自的URL:Tommy%2520French%2520Toals.North%2520Street.1250251。注意%2520的存在。门户网站软件正在做的是两次执行URL编码 - 首先,它将blob名称中的space URL编码为%20,然后再次将%符号编码为{{1}这对你来说很糟糕。

为了确保双重确定,我上传了一个文件,其存储帐户名称中包含空格,当我尝试通过门户网站下载blob时,它失败并出现与您相同的错误。然后我使用存储客户端库为同一个blob创建了一个SAS URI,它工作得很好。这是我用于创建SAS URI的代码:

%25

尝试下载名称中不包含空格或任何特殊字符的文件,它应该可以正常工作。

答案 1 :(得分:2)

在azure bolb存储上转到并编辑容器元数据。将访问权限更改为私有。 Azure blob storage container edit page

答案 2 :(得分:0)

检查文件名,区分大小写。更正大小写后,它开始为我工作。

答案 3 :(得分:0)

我能够通过以下方式使它起作用:

  • 打开Azure存储应用并导航到容器/ blob
  • 右键单击该blob,然后选择“属性...”
  • 从URL复制/粘贴服务器路径之后的文本

例如,如果URL显示为:https://<storageaccount>.windows.net/somecontainer/someblob

要复制/粘贴的文本为:somecontainer/someblob