通过一个网页,我想让用户下载存储在 Azure 云存储上的(非常大的)文件。我使用 GetSharedAccessSignature 来允许用户下载它(注意:Container 是受保护的,不能公开阅读)。我使用以下代码:
// get the file blob
// CloudBlockBlob blob set previously and check (it exists)
string sas = blob.GetSharedAccessSignature(
new SharedAccessPolicy() {
Permissions = SharedAccessPermissions.Read,
SharedAccessStartTime = DateTime.Now.AddMinutes(-5),
SharedAccessExpiryTime = DateTime.Now.AddMinutes(54)
});
Response.Redirect(blob.Attributes.Uri.AbsoluteUri + sas);
除非下载时间超过 1 小时(正如我所说,通过不太好的互联网连接下载非常大的文件...),否则此方法有效。如果下载需要更长的时间,则会发生超时,并且下载会在共享访问过期时间过后停止。
我该如何解决这个问题?
亲切的问候,罗比德萨特