无法访问Windows azure文件存储文档

问题描述 投票:0回答:4

我在Windows azure中创建了一个文件存储并上传了一些文档。

这就是我的文件路径https://mySite.file.core.windows.net/notes/txt.pdf

当我尝试从存储中访问文件时,出现此错误: enter image description here

.net azure file-storage
4个回答
10
投票

这是预期的行为。请注意,文件存储中存储的文件不允许匿名访问。访问需要经过授权。由于您尝试在未经授权的情况下访问资源,因此您会收到此错误。

授权访问的一种方法是在文件/共享级别上创建具有

Shared Access Signature (SAS)
权限的
Read
,然后使用该 SAS URL 访问该文件。


4
投票

发生这种情况是因为您尝试以匿名用户身份访问该文件。如果您确实想要授予匿名用户访问权限,请创建 SAS 令牌并将该令牌包含在 URL 中:

  1. 在 Azure 门户上:转到您的存储帐户,然后单击“共享访问签名”并复制 SAS 令牌:

Azure Portal, Storage Accounts, Shared access signature, SAS token

  1. 将 SAS 令牌添加到您的 URL:https://mySite.file.core.windows.net/notes/txt.pdf?sv=2017-11-09&ss=f&srt=o&sp=r&se=2018-11-13T19: 11:42Z&st=2018-11-13T11:11:42Z&spr=https&sig=5Q7RPkCGiUdQQsAS43qrWvniK8O7Cwc4uLjHFJfTtkc%3D

0
投票

这对我有用:

使用NuGet包

“WindowsAzure.存储”

而不是

“Microsoft.WindowsAzure.存储”

就我而言,

blob.Exists()
blob.AcquireLease()
会给我HTTP标头异常(尽管有可用的存储密钥/连接字符串)。上面的 2 个包(大部分)具有相同的 API,但后者给了我问题。


0
投票

当我将 SAS 令牌附加到 URL 时,文件会被下载,而不是在浏览器中打开。但是,我希望文件直接在浏览器中打开(文件类型不是 PDF)。

© www.soinside.com 2019 - 2024. All rights reserved.