2012-04-01 4 views
3

JWPlayerを使用してAzure BLOBストレージからビデオをストリーミングする場合、JWPlayerにはビデオを再生するためにcrossdomain.xmlが必要です。jwplayerのcrossdomain.xmlファイルへのアクセスパス

私はcrossdomain.xmlファイルをルートディレクトリに置きました。コードはhttp://127.0.0.1:10000/devstoreaccount1/crossdomain.xmlですが、JWPlayerはhttp://127.0.0.1:10000/crossdomain.xmlでそれを探します。

デフォルトのhttp://127.0.0.1:10000/crossdomain.xmlではなく、JWPlayerをhttp://127.0.0.1:10000/devstoreaccount1/crossdomain.xmlにリダイレクトする方法はありますか。

答えて

1

にリンクされていた場合、これはあなたのコードを壊さないだろう= true

-1

ドキュメントルート内のどこからでもフェッチできるようにWebサーバーを設定しようとすると、/devstoreaccount/にあり、ファイルがあり、/crossdomain.xmlが要求されたときにファイルが返されます。

または、/devstoreaccount/crossdomain.xml- >/crossdomain.xmlとシンボリックリンクできます。 ConfigKeyで

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; 
     } 
    } 

私は私の実際のAzureストレージアカウントキーまたはUselocalstorageを渡します:何とかそれは私が頻繁にCrossdomainpolicyを作成するには、このコードスニペットを使用し/devstoreaccount/crossdomain.xml.

関連する問題