正如其他cffile上传问题所述,
GetPageContext().formScope().getUploadResource("myFormField").getName()
非常适合在实际执行cffile之前获取服务器上的文件名(对于Railo和Lucee - 这是ColdFusion的不同方法)但是我注意到一个有趣的皱纹:如果浏览器是IE,那么这将返回完整源路径包括文件名。另一方面,Firefox和Chrome只返回文件名。
对于我的应用程序,我需要完整的路径,但当浏览器是FireFox或Chrome时,我们无法找到它。如果有人有任何想法,我将非常感激!
答案 0 :(得分:2)
(扩展自评论)
我不熟悉getUploadResource()
功能。但是,查看this related thread,听起来它会返回客户端提交的文件信息。虽然有建议的指导方针,但最终the value received on the server is whatever the browser chooses to send。它不是可以由服务器端代码更改或控制的东西。因此,如果Firefox和Chrome返回的内容与IE不同,那你就不走运了。
(另外,我个人总是发现Internet Explorer在这方面有点奇怪。传统的浏览器是restricted from certain file access operations for security reasons,除非使用了签名控件。所以你可能会认为这些限制会禁止浏览器从提交有关客户端文件系统结构的信息来看。实际上,大多数浏览器不提交上传的路径信息,只提供文件名。显然,Internet Explorer选择做事情。 ......无论出于何种原因)
对于我的应用程序,我需要完整的路径
说了这么多,为什么你需要客户端机器的路径?