[英]Using Azure storage file with SAS token in ViewerJs
我以这种方式为文件生成SAS令牌:
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。
您的C#代码看起来不错,我无法重现您发布的错误。 也许您可以使用Azure存储资源管理器生成SAS令牌,然后看看会发生什么。
更新资料
如果您的URL包含HTML特殊字符,则需要对其进行URL编码,或仅从已编码的Azure Storage Explorer复制SAS URL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.