没有上载xls文件,我想使用POI API从xls文件中读取数据。为此,我需要带有文件名的完整文件路径.IE给出了完整的文件路径,而Mozzila却没有。完整的文件路径。请建议...。

最佳答案

这是特定于Web浏览器的。实际上,MSIE做错了。根据HTTP规范,Web浏览器应仅发送文件名,而不发送完整的客户端路径。您应该删掉文件名中的完整路径(如果有)。例如。

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


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

10-06 08:57
查看更多