3

如其他cffile上传问题所述,

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

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

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

4

1 回答 1

2

(从评论中扩展)

我不熟悉该getUploadResource()功能。但是,查看这个相关线程,它听起来像是返回客户端提交的文件信息。虽然有推荐的指导方针,但最终在服务器上接收到的值是浏览器选择发送的任何值。它不是可以通过服务器端代码更改或控制的东西。因此,如果 Firefox 和 Chrome 返回的内容与 IE 不同,那么您就不走运了。

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

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

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

于 2016-07-28T16:25:22.267 回答