我已经集成了azure cdn
并上传了许多pdf
个文件,但是它们都具有octet-stream
内容类型,因为起初我没有使用x-ms-blob-content-type
,现在我已经修复了它的设置
headers.Add("x-ms-blob-content-type", "application/pdf");
因此,新文件将以适当的内容类型上传。
我的问题是关于修复之前已上传的所有pdf文件。
我想将其内容类型更改为application/pdf
。
有没有办法使用rest api?
我已经找到了一种使用Azure存储浏览器进行更改的方法,但是云中有很多pdf,因此我无法手动更改它们。
答案 0 :(得分:1)
因此,您将要遍历容器中的blob,如果扩展名是.pdf,则要将内容类型设置为“ application / pdf”。
下面的代码应为您指明正确的方向。
// Storage credentials
StorageCredentials credentials = new StorageCredentials("accName", "keyValue");
CloudStorageAccount storageAccount = new CloudStorageAccount(credentials, true);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("theContainer");
// Continuation Token
BlobContinuationToken token = null;
do
{
var results = await container.ListBlobsSegmentedAsync(null, true, BlobListingDetails.All,
null, token, null, null);
// Cast blobs to type CloudBlockBlob
var blobs = results.Results.Cast<CloudBlockBlob>().ToList();
foreach (var blob in blobs)
{
if (Path.GetExtension(blob.Uri.AbsoluteUri) == ".pdf")
{
blob.Properties.ContentType = "application/pdf";
}
await blob.SetPropertiesAsync();
}
} while (token != null);