我对Azure Blog Storage V2中文件的“内容处置” blob属性有疑问。
我在Azure Portal中使用Azure Storage Explorer 1.6.2(请参见截图)将文件howto-201901.pdf的此属性配置为“ attachment; filename = howto.pdf”。该属性在文件上设置,但未作为下载时的标头信息提供。
使用先前的存储V1,这没有问题。如果我下载了文件howto-2010901.pdf,则设置了http标头的内容配置,浏览器下载了与我的配置howto-pdf类似的文件。
但是自从2个月或3个月以来,也许自从我升级到存储V2以来,此功能无法使用。浏览器将下载原始名称的文件。
有没有人向我提供解决此问题的信息?
最佳蒂诺
答案 0 :(得分:1)
这是一个可能的解决方案,对我有用。
除了创建新策略外,您还可以从Blob存储中提取现有策略吗?参见https://docs.microsoft.com/en-us/azure/storage/common/storage-dotnet-shared-access-signature-part-1
private Uri GetDownloadUri(CloudBlockBlob blob)
{
try
{
// Return the SAS token.
var query = GenerateSASQueryString(blob);
UriBuilder newUri = new UriBuilder(blob.Uri)
{
Query = query
};
return newUri.Uri;
}
catch (UriFormatException ex)
{
Console.WriteLine(ex);
}
return blob.Uri;
}
private string GenerateSASQueryString(CloudBlockBlob blob)
{
if (blob == null)
return null;
// Create a new access policy for the account.
SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy
{
Permissions = SharedAccessBlobPermissions.Read,
SharedAccessExpiryTime = DateTimeOffset.UtcNow.AddHours(24),
SharedAccessStartTime = DateTimeOffset.UtcNow
};
// Return the SAS token.
var query = blob.GetSharedAccessSignature(policy);
return query;
}
答案 1 :(得分:0)
我面临着同样的问题,但是我对.NET SDK和SharedAccessBlobPolicy
感到非常困惑。
我正在使用Azure.Storage.Blobs
版12.4.1
SDK来管理存储。是否可以使用它来设置SharedAccessBlobPolicy
,还是应该以其他方式进行设置?我尝试研究文档,但是并没有真正的帮助,我只能找到有关Microsoft.Azure.Storage.Blob
SDK版本11
的信息,该信息现已被认为是旧版并且已弃用。
答案 2 :(得分:0)
Content-Disposition 标头作为响应。为了使客户获得 Content-Disposition