Asp.net jwplayer的crossdomain.xml文件的访问路径
我正在使用JWPlayer从Azure blob存储流式传输视频,JWPlayer需要Asp.net jwplayer的crossdomain.xml文件的访问路径,asp.net,cross-domain,flash,jwplayer,azure-storage-blobs,Asp.net,Cross Domain,Flash,Jwplayer,Azure Storage Blobs,我正在使用JWPlayer从Azure blob存储流式传输视频,JWPlayer需要crossdomain.xml来播放视频 我试图将crossdomain.xml文件放在根目录中,将代码放在http://127.0.0.1:10000/devstoreaccount1/crossdomain.xml但是JWPlayer在http://127.0.0.1:10000/crossdomain.xml 是否仍有将JWPlayer重定向到http://127.0.0.1:10000/devstore
crossdomain.xml
来播放视频
我试图将crossdomain.xml
文件放在根目录中,将代码放在http://127.0.0.1:10000/devstoreaccount1/crossdomain.xml
但是JWPlayer在http://127.0.0.1:10000/crossdomain.xml
是否仍有将JWPlayer重定向到
http://127.0.0.1:10000/devstoreaccount1/crossdomain.xml
而不是默认的http://127.0.0.1:10000/crossdomain.xml
?您可以尝试将Web服务器配置为从文档根目录中的任何位置获取,我假定它位于/devstoreaccount/
中,找到该文件,并在请求/crossdomain.xml
时将其返回
或者,您可以将
/devstoreaccount/crossdomain.xml
-->/crossdomain.xml进行符号链接。如果代码以某种方式链接到/devstoreaccount/crossdomain.xml,这不会破坏您的代码。
我经常使用此代码片段创建跨域策略:
var account = CloudStorageAccount.Parse(ConfigurationManager.AppSettings[ConfigKey]);
var blobs = account.CreateCloudBlobClient();
CreateCrossDomainPolicy(blobs);
private static void CreateCrossDomainPolicy(CloudBlobClient blobs)
{
try
{
blobs.GetContainerReference("$root").CreateIfNotExist();
blobs.GetContainerReference("$root").SetPermissions(
new BlobContainerPermissions()
{
PublicAccess = BlobContainerPublicAccessType.Blob
});
var blob = blobs.GetBlobReference("clientaccesspolicy.xml");
blob.Properties.ContentType = "text/xml";
blob.UploadText(@"<?xml version=""1.0"" encoding=""utf-8""?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-methods=""*"" http-request-headers=""*"">
<domain uri=""*"" />
<domain uri=""http://*"" />
</allow-from>
<grant-to>
<resource path=""/"" include-subpaths=""true"" />
</grant-to>
</policy>
</cross-domain-access>
</access-policy>");
}
catch (Exception Ex)
{
throw Ex;
}
}
var account=CloudStorageAccount.Parse(ConfigurationManager.AppSettings[ConfigKey]);
var blobs=account.CreateCloudBlobClient();
CreateCrossDomainPolicy(BLOB);
私有静态void CreateCrossDomainPolicy(CloudBlobClient Blob)
{
尝试
{
GetContainerReference($root”).CreateIfNotExist();
blobs.GetContainerReference($root”).SetPermissions(
新BlobContainerPermissions()
{
PublicAccess=BlobContainerPublicAccessType.Blob
});
var blob=blobs.GetBlobReference(“clientaccesspolicy.xml”);
blob.Properties.ContentType=“text/xml”;
blob.UploadText(@)
");
}
捕获(例外情况除外)
{
掷骰子;
}
}
在ConfigKey中,我将传递我的实际Azure存储帐户密钥或Uselocalstorage=true