2012-10-18 29 views
1

我有沒有保存它流在其應用程序目錄中的應用程序,但在其他地方使用我的application.xml如下:Flash Media Server中使用VirtualDirectory對於流和FileObjects

<Application> 
<StreamManager> 
    <VirtualDirectory> 
      <!-- Specifies application specific virtual directory mapping for streams. --> 
     <Streams>/;C:\pathtomystreams</Streams> 
    </VirtualDirectory> 
</StreamManager> 
</Application> 

這是工作很好。 現在,我想要做的是獲取該目錄中的流列表。我知道如何做到這一點的唯一方法是使用File對象,創建我的流文件夾的File對象,然後調用File.list()。

的Adobe說明中提到,我可以使用虛擬目錄還爲File對象: http://livedocs.adobe.com/flashmediaserver/3.0/hpdocs/index.html

<FileObject> 
    <VirtualDirectory>/;C:\pathtomystreams</VirtualDirectory> 
</FileObject> 

Adob​​e的幫助,在這裏並沒有提到在文件對象標籤應被嵌套,但在虛擬主機看看Application.xml指出我應該在Application/ScriptEngine中。 我還在vHosts Application.xml中將FileObject元素的覆蓋屬性設置爲「yes」。

但我只是沒有找到正確的道路。當我在寫的main.asc這樣的代碼:

var f = new File("/mystream.flv"); 
trace(f.toString()); 

產生的跟蹤讀取C:\\ mystream.flv而不是C:\ pathtomystreams \ mystream.flv 有趣的是,它也是忽略我可能添加到vHosts Application.xml中的任何VirtualPath

可能有一些配置設置丟失了。 有沒有人有一個想法,我可能會錯過這裏,或者我做錯了什麼?

回答

2

確實存在在server.xml其他配置設置我都忽略了:

<Root> 
    <Server> 
     <Security> 
      <!-- This is disabled by default. --> 
      <VirtualDirectoryForFile enable="true"/> 
     </Security> 
    </Server> 
<Root> 

VirtualDirectoryForFile具有的元素被啓用,以得到它的工作。 因此,您必須確保在vHost.xml中將override屬性設置爲true,並確保Server.xml中VirtualDirectorForFile的enable屬性設置爲true。

相關問題