0

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

非常感谢

4

1 回答 1

3

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

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

于 2012-10-01T18:56:52.403 回答