查找 cffile 上传的源文件路径
Finding the source file path of a cffile upload
如其他 cffile 上传问题所述,
GetPageContext().formScope().getUploadResource("myFormField").getName()
非常适合在实际执行 cffile 之前获取服务器上的文件名(对于 Railo 和 Lucee - ColdFusion 有不同的方法)但我注意到一个有趣的问题:如果浏览器是 IE,那么这个 returns 包括文件名的完整源路径。另一方面,Firefox 和 Chrome,return 只有文件名。
对于我的应用程序,我需要完整路径,但当浏览器是 FireFox 或 Chrome 时无法找到它。如果有人有任何想法,我将不胜感激!
(根据评论展开)
我不熟悉 getUploadResource()
函数。不过,翻看this related thread, it sounds like it returns file information submitted by the client. While there are recommended guidelines, ultimately the value received on the server is whatever the browser chooses to send。它不是服务器端代码可以更改或控制的东西。因此,如果 Firefox 和 Chrome return 与 IE 不同的东西,那你就不走运了。
(顺便说一句,我个人一直觉得 Internet Explorer 在这方面有点奇怪。传统浏览器是 restricted from certain file access operations for security reasons,除非使用签名控件。所以你可能认为这些限制会禁止浏览器也会提交有关客户端文件系统结构的信息。事实上,大多数浏览器不会提交上传的路径信息,只有文件名。显然,Internet Explorer 选择了做事..不同..无论出于何种原因)
For my application I need the full path
说了这么多,为什么您需要 客户端计算机 的路径?
如其他 cffile 上传问题所述,
GetPageContext().formScope().getUploadResource("myFormField").getName()
非常适合在实际执行 cffile 之前获取服务器上的文件名(对于 Railo 和 Lucee - ColdFusion 有不同的方法)但我注意到一个有趣的问题:如果浏览器是 IE,那么这个 returns 包括文件名的完整源路径。另一方面,Firefox 和 Chrome,return 只有文件名。
对于我的应用程序,我需要完整路径,但当浏览器是 FireFox 或 Chrome 时无法找到它。如果有人有任何想法,我将不胜感激!
(根据评论展开)
我不熟悉 getUploadResource()
函数。不过,翻看this related thread, it sounds like it returns file information submitted by the client. While there are recommended guidelines, ultimately the value received on the server is whatever the browser chooses to send。它不是服务器端代码可以更改或控制的东西。因此,如果 Firefox 和 Chrome return 与 IE 不同的东西,那你就不走运了。
(顺便说一句,我个人一直觉得 Internet Explorer 在这方面有点奇怪。传统浏览器是 restricted from certain file access operations for security reasons,除非使用签名控件。所以你可能认为这些限制会禁止浏览器也会提交有关客户端文件系统结构的信息。事实上,大多数浏览器不会提交上传的路径信息,只有文件名。显然,Internet Explorer 选择了做事..不同..无论出于何种原因)
For my application I need the full path
说了这么多,为什么您需要 客户端计算机 的路径?