我尝试使用此代码分享blob一分钟:
public static void CdnInit()
{
StorageAccount = CloudStorageAccount.Parse(ConnectionString);
BlobClient = StorageAccount.CreateCloudBlobClient();
}
public static string GetSharedBlobUrl(ContainerType conteiner, string fileName)
{
CloudBlob blob = BlobClient.GetBlobReference(containerNameByType(conteiner) + @"/" + fileName);
return StorageUrl + "/" + containerNameByType(conteiner) + "/" + fileName + blob.GetSharedAccessSignature(new SharedAccessPolicy()
{
Permissions = SharedAccessPermissions.Read,
SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromMinutes(1)
});
}
但是重定向到生成的url会给我这个错误:
Access without signed identifier cannot have time window more than 1 hour
我尝试了很多时间组合,但效果相同。
答案 0 :(得分:-1)
尝试使用DateTime.Now而不是DateTime.UtcNow,这就是问题所在。 UtcNow根据GMT给出日期,根据您当地时间可能超过1小时。