如何在struts中使用FormFile时获取完整的文件路径?

时间:2010-09-24 19:19:13

标签: java javascript

在没有上传xls文件的情况下,我想使用POI API从xls文件中读取数据。为此,我需要带文件名的完整文件路径.IE给出了完整的文件路径,而Mozzila则没有。有任何替代方式获取完整的文件路径。请建议......

1 个答案:

答案 0 :(得分:2)

这是特定于webbrowser的。实际上,MSIE做错了。根据HTTP规范,webbrowser应该只发送文件名,而不是完整的客户端路径。你应该修剪文件名的完整路径,如果有的话。 E.g。

filename = filename.substring(filename.lastIndexOf('/') + 1);

即便如此,了解服务器端的完整文件路径有什么价值?这些信息毫无价值。如果您打算使用java.io.File来处理文件,那么您做错了。服务器无法直接访问客户端的本地磁盘文件系统(除非webbrowser和webserver在物理上相同的计算机上运行)。您应该通过FormFile#getInputStream()将文件内容作为InputStream获取,然后将其写入临时文件的OutputStream。或者POI API本身已经直接接受InputStream,您可以直接传递它。