繁体   English   中英

在ViewerJs中将Azure存储文件与SAS令牌一起使用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM