0
SAS令牌Azure存儲文件我生成這樣SAS令牌文件:使用與ViewerJs
private string GeFileSASToken(CloudFile file)
{
SharedAccessFilePolicy policy = new SharedAccessFilePolicy()
{
Permissions = SharedAccessFilePermissions.Read | SharedAccessFilePermissions.Write | SharedAccessFilePermissions.List,
SharedAccessStartTime = DateTime.Now,
SharedAccessExpiryTime = DateTime.UtcNow.AddHours(24),
};
return file.GetSharedAccessSignature(policy);
}
如果我打開文件鏈接與此令牌在所有瀏覽器工作正常,並且文件被下載。但是,如果我嘗試使用這樣的Viewerjs此鏈接:
<iframe src = "http://mydomain/ViewerJS/index.html#blob:https://myazureaccount.file.core.windows.net/myshare/mydirectorypath/myfile?SASTOKEN" width='300' height='300'></iframe>
我看到錯誤消息:
無法加載BLOB:https://myazureaccount.file.core.windows.net/myshare/mydirectorypath/myfile?SASTOKEN:跨起源請求只支持協議方案:HTTP,數據, Chrome,Chrome擴展,https。
結果相同。另外,如果我刪除SAS查詢字符串,我看到完全相同的錯誤 –
您是否嘗試清除瀏覽器緩存? –
是的,我清除了緩存。我認爲我的Url for ViewerJs有問題。網址應該如下所示:domain + ViewerJS/#..../+ filePath。而這個錯誤是由於沒有SAS令牌的域部分發生的,只有文件部分在我的URL中有一個SAS令牌。 –