我有一个应用程序,它不将其流保存在其应用程序目录中,而是通过在我的 application.xml 中使用以下内容保存在其他地方:
<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>
Adobe 帮助在这里没有提到 FileObject 标记应该嵌套在哪里,但是查看 vHosts 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
可能我缺少一些配置设置。有谁知道我在这里可能会错过什么,或者我做错了什么?