我希望使用FileUpload使用GWT获取所选文件的完整路径。你能救我吗?
答案 0 :(得分:3)
由于浏览器的安全性,无法从客户端获取文件路径 政策。你必须通过签名的java applet来实现它,或者从你的applet中获取它 servlet的。
fileUpload.getFilename可能会也可能不会返回完整路径。取决于浏览器
答案 1 :(得分:2)
你不需要它。想象一下,我是客户,你是服务器。我给你完整的文件路径“C:/ My Documents / passwords.txt”,你如何以编程方式访问文件内容?可能有new File("C:/My Documents/passwords.txt")
?不,从逻辑上思考它,这不会起作用,因为我们都在物理上不同的机器上运行。有关完整路径的信息毫无价值。
HTML文件上传实际上将文件的内容从客户端发送到服务器,通常只附带文件名。您只需要将InputStream
作为FileItem#getInputStream()
抓取内容,或者直接通过FileItem#write()
将内容写入磁盘。根据{{3}}。
您可以通过FileUpload User Guide获取唯一的文件名,但是某些Web浏览器会发送完整的客户端磁盘文件系统路径,例如Internet Explorer和Opera。这是错误。您需要根据FileItem#getName()
按FilenameUtils#getName()
修剪路径。
(顺便说一句,蓝色的所有代码都是可点击的并且指向Javadocs,我强烈建议你学习阅读/解释它们,它们提供你需要的所有信息。)