在上传文件绝对路径之前将其上传到服务器上

时间:2012-10-01 17:52:42

标签: jsf primefaces

我试过上传文件绝对路径,但我没有找到解决方案:我知道我无法获取上传的文件绝对客户端路径。浏览器的限制因为这被认为是安全风险。所以,如果我使用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}"/>  

非常感谢

1 个答案:

答案 0 :(得分:3)

你做不到。一些带有安全漏洞的旧浏览器可能会在JavaScript中为您提供HtmlInputElement#value的完整路径,但是所有现代浏览器都只返回基本文件名,而其他浏览器甚至在IE中添加了c:\fakepath这样的假路径。 Webkit浏览器。

无论如何,你不应该对这些信息感兴趣。这与处理上传文件的任何自尊的业务逻辑完全无关。无论您想要解决什么功能需求,都必须以不同的方式解决。