我试过上传文件绝对路径,但我没有找到解决方案:我知道我无法获取上传的文件绝对客户端路径。浏览器的限制因为这被认为是安全风险。所以,如果我使用p:uploadeFile简单模式:[http://www.primefaces.org/showcase-labs/ui/fileUploadSimple.jsf] [1]
它将是一个包含所选项目的绝对路径的inputText字段,因此我可以在单击提交按钮之前在我的托管bean中检索它(我的意思是将文件上传到服务器,文件到服务器)
<p:fileUpload value="#{fileUploadController.file}" mode="simple"/>
<p:commandButton value="Submit" ajax="false"
actionListener="#{fileUploadController.upload}"/>
非常感谢
答案 0 :(得分:3)
你做不到。一些带有安全漏洞的旧浏览器可能会在JavaScript中为您提供HtmlInputElement#value
的完整路径,但是所有现代浏览器都只返回基本文件名,而其他浏览器甚至在IE中添加了c:\fakepath
这样的假路径。 Webkit浏览器。
无论如何,你不应该对这些信息感兴趣。这与处理上传文件的任何自尊的业务逻辑完全无关。无论您想要解决什么功能需求,都必须以不同的方式解决。