Azure Blob Storage V2不再提供内容处置标头
我对Azure Blog Storage V2中文件的“内容处置”blob属性有疑问 我使用Azure Portal中的Azure Storage Explorer 1.6.2(请参见屏幕截图)asn将我的文件howto-201901.pdf的此属性配置为“附件;文件名=howto.pdf”。该属性在文件中设置,但在下载时未作为标题信息提供 对于以前的存储V1,它没有问题。如果我下载了howto-2010901.pdf文件,是否设置了http头内容配置,并且浏览器下载了与我的配置howto-pdf类似的文件 但从2到3个月,可能从我升级到storage V2开始,这个功能就不起作用了。浏览器将下载具有原始名称的文件 有没有人,谁有我的信息来解决这种行为 最佳蒂诺酒店Azure Blob Storage V2不再提供内容处置标头,azure,azure-storage,azure-storage-blobs,content-disposition,Azure,Azure Storage,Azure Storage Blobs,Content Disposition,我对Azure Blog Storage V2中文件的“内容处置”blob属性有疑问 我使用Azure Portal中的Azure Storage Explorer 1.6.2(请参见屏幕截图)asn将我的文件howto-201901.pdf的此属性配置为“附件;文件名=howto.pdf”。该属性在文件中设置,但在下载时未作为标题信息提供 对于以前的存储V1,它没有问题。如果我下载了howto-2010901.pdf文件,是否设置了http头内容配置,并且浏览器下载了与我的配置howto-pd
这是一个可能的解决方案,对我来说很有效 您可以从blob存储中获取现有策略,而不是创建新策略。看
我面临着同样的问题,但我对.NET SDK和
SharedAccessBlobPolicy
感到非常困惑
我正在使用
Azure.Storage.Blobs
version12.4.1
SDK来管理存储。是否可以使用它来设置SharedAccessBlobPolicy
,或者我应该以不同的方式来执行?我试图查看文档,但它并没有真正的帮助,我只能找到有关Microsoft.Azure.Storage.Blob
SDK版本11
的信息,该版本现在被认为是旧版本,已被弃用。当下载URL未经身份验证时,不会发送响应中的内容处置标题。让客户端接收内容处置
我找到了这种行为的原因和解决办法。我猜,如果url没有SAS令牌,那么将不再设置内容处置http头信息。添加SAS令牌,您将获胜。
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;
}