繁体   English   中英

在Flex中获取绝对本地路径

[英]Getting an absolute local path in Flex

我环顾四周,我看到的最新参考是从2008年开始,标准的FileReference浏览器不支持检索用户文件的绝对本地路径,除非它是AIR应用程序,实际上文档中没有任何其他建议。 这背后的原因显然是一些误导性的安全问题...我觉得让任何Flash应用程序知道你的目录结构并不是一个好主意,但如果用户实际上给你的应用程序一个文件,我认为它不会使安全性失效模型只知道该文件的绝对路径。

我想知道Flex 4的状态是否发生了变化,并且有一种获取任何东西的本地文件名的方法。 我需要它,因为我正在创建一个应用程序,当分布式在99%的情况下在本地运行时,所以做一个完整的文件上传只是为了将它保存在本地机器上的其他地方似乎很愚蠢。 (另外标准文件上传方法不支持SOAP,这是我用于所有其他服务的...)我总是可以让用户输入他们的本地路径名,但这看起来真的很愚蠢。

出于安全原因,在Flash(而不是AIR)中,您不能查看fileReference文件的完整路径。

这取决于你想要达到的目标 - 你不清楚自己要做什么。

“做一个完整的文件上传只是为了将它保存在本地机器上的其他地方似乎很愚蠢”

从flash player 10开始,您可以直接保存到本地文件系统,而无需通过远程服务器。 您只需调用FileReference.download()函数以响应用户访客,如鼠标单击或按键(例如,按下保存按钮)。

FileReference文档: http//help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html#download%28%29

否则,不,您无法获得文件的完整路径,因为它可能存在安全风险 - 即使他们自己选择文件也是如此。

例如,如果我在Windows机器的桌面上选择一个文件,我真的不想要一些随机的Web应用程序知道我的用户名:

“C:\\ Documents and Settings \\ [用户名] \\ Desktop \\ myAwesomeFile.txt”

从中你可以猜测我正在运行的Windows版本。

如果您需要与用户的桌面进行更多交互,那么您应该使用AIR - 这是它存在的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM