为Azure下载分配友好名称

BMi*_*lls 2 azure azure-storage-blobs

我看过这里提出的问题: 公共下载时的友好文件名Azure blob 我是一个完全天蓝色的菜鸟,并且不知道如何实现任何答案,除了这个看起来像我能处理的东西:

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


string downloadLink = blob.Uri + sasBlobToken;
Run Code Online (Sandbox Code Playgroud)

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

SharedAccessBlobPolicy sharedpolicy = new SharedAccessBlobPolicy();
Run Code Online (Sandbox Code Playgroud)

但是,单击下载链接时,我收到了一条权限被拒绝的消息.所以我的问题是如何正确设置sharedpolicy变量?

Gau*_*tri 5

您收到此错误的原因是您没有设置任何权限和权限到期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;
Run Code Online (Sandbox Code Playgroud)