2015-10-02 31 views
2

我已經看過這裏提出這樣的問題: 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(); 

但是,當我單擊下載鏈接時,我得到一個權限被拒絕的消息。所以我的問題是如何正確設置sharedpolicy變量?

回答

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; 
+0

我會試試這個,非常感謝您的幫助 – BMills

+0

奇妙的是,它的工作原理!誰知道一點點的代碼可以讓別人如此開心! :)對不起,我不能upvote你的答案,但我還沒有priveliges。 – BMills

+0

很高興知道它的工作!你可以接受答案:)...不要擔心提高它。 –

相關問題