为 Azure 下载分配友好名称

Assigning a friendly name to an Azure download

我看过这里提出的问题: Friendly filename when public download Azure blob 我是一个完全天真的菜鸟,不知道如何实现任何答案,除了这个看起来像我可以处理的答案:

string sasBlobToken = blob.GetSharedAccessSignature(sharedPolicy, new SharedAccessBlobHeaders()
        {
            ContentDisposition = "attachment; filename=" + friendlyFileName
        });


string downloadLink = blob.Uri + sasBlobToken;

我的问题是如何正确设置'sharedpolicy变量?我试着在上面的行中做一个空白:

SharedAccessBlobPolicy sharedpolicy = new SharedAccessBlobPolicy();

但是我在点击下载 link 时收到一条权限被拒绝的消息。所以我的问题是如何正确设置 sharedpolicy 变量?

您收到此错误的原因是您没有在 SharedAccessBlobPolicy 中设置任何权限和权限到期时间。尝试以下操作:

            SharedAccessBlobPolicy sharedpolicy = new SharedAccessBlobPolicy()
            {
                Permissions = SharedAccessBlobPermissions.Read,//Read permission because you want to download the file
                SharedAccessExpiryTime = new DateTimeOffset(DateTime.UtcNow.AddHours(1))//The link will expire after 1 hour
            };
            string sasBlobToken = blob.GetSharedAccessSignature(sharedPolicy, new SharedAccessBlobHeaders()
                    {
                        ContentDisposition = "attachment; filename=" + friendlyFileName
                    });


            string downloadLink = blob.Uri + sasBlobToken;