对于如何使用相对路径,FileReference是比较奇怪的。在大多数情况下,基本路径是您的swf加载的路径。除了IE浏览器(或者其他方式,现在我不记得了)。我认为这不是IE/Firefox/chrmoe问题,而是一个玩家问题。 IE有一个Flash播放器,它使用ActiveX和其他浏览器的播放器。在某种程度上,他们在处理FileReference对象的相对路径方面存在分歧。如果这是一个功能,这是非常愚蠢的,所以我的感觉是这是一个错误,但没有检查错误的基础,所以我不知道它是否被官方认为是一个错误。另外,在嵌入代码中设置base_path不起作用。
无论如何,避免这种疯狂的唯一理智的方法是使用完整路径。试图检测是否IE浏览器可能会工作,但我认为在某些时候这种烦恼将被修复;当发生这种情况时,你的代码将会中断,所以我认为这是一个坏主意。
现在,您可能不想在swf中完整路径的硬编码,所以我用来解决此问题的一个简单解决方案(假设您可以更改嵌入代码)将此路径通过flash var当你嵌入你的瑞士法郎。一般来说,我用php检索这个路径,所以在部署时或者移动东西时我不必手动修改它(我将绝对路径传递给“app root”,对于我来说通常是嵌入swf;然后我将它连接到处理帖子的文件的相对路径,因此从swf开始,就像使用相对路径一样)。
所以,如果你可以使用一些服务器端,你可以只写一小段代码,并忘记它。但即使您手动执行此操作,重新编译swf也会更容易。