正在查找cffile上载的源文件路径



如其他cffile上传问题所述,

GetPageContext().formScope().getUploadResource("myFormField").getName()

非常适合在实际执行cffile之前在服务器上获取文件名(对于Railo和Lucee,ColdFusion有一种不同的方法),但我注意到一个有趣的问题:如果浏览器是IE,那么它会返回包括文件名在内的完整源路径。另一方面,Firefox和Chrome只返回文件名。

对于我的应用程序,我需要完整的路径,但当浏览器是FireFox或Chrome时,我找不到。如果有人有任何想法,我将不胜感激!

(从注释中展开)

我不熟悉getUploadResource()函数。然而,仔细查看这个相关线程,听起来它返回了客户端提交的文件信息。虽然有推荐的指导原则,但最终在服务器上收到的值是浏览器选择发送的值。它不是可以由服务器端代码更改或控制的东西。所以,如果Firefox和Chrome返回的东西与IE不同,那你就倒霉了。

(顺便说一句,我个人一直觉得Internet Explorer在这方面有点奇怪。传统上,浏览器出于安全原因被限制执行某些文件访问操作,除非使用签名控件。因此,你可能会认为这些限制也会禁止浏览器提交有关客户端文件系统结构的信息。事实上,大多数浏览器都会这样做不通过上传提交路径信息,只提交文件名。显然,Internet Explorer选择了做一些事情。。不同地无论出于何种原因)

对于我的应用程序,我需要全路径

说了这么多,为什么需要客户端机器的路径?

最新更新