2012-04-01 95 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中查找它。

有沒有辦法將JWPlayer重定向到http://127.0.0.1:10000/devstoreaccount1/crossdomain.xml而不是默認的http://127.0.0.1:10000/crossdomain.xml

回答

1

我經常用這個代碼片斷創建Crossdomainpolicy這不會破壞你的代碼= true

-1

您可以嘗試將Web服務器配置爲從文檔根目錄中的任何位置獲取,我假設位於/devstoreaccount/中,該文件位於該位置,並在請求/crossdomain.xml時將其返回。

或者,你可以符號鏈接/devstoreaccount/crossdomain.xml- >/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; 
     } 
    } 

在ConfigKey我會通過我的實際Azure存儲賬號密碼或Uselocalstorage:如果不知它是有聯繫的/devstoreaccount/crossdomain.xml.