在不上传 xls 文件的情况下,我想使用 POI API 从 xls 文件读取数据。为此,我需要带有文件名的完整文件路径。IE 提供完整文件路径,而 Mozzila 则没有。是否有其他方法获取完整的文件路径。请建议....
最佳答案
这是特定于网络浏览器的。事实上,MSIE 的做法是错误的。根据 HTTP 规范,网络浏览器应该只发送文件名,而不是完整的客户端路径。您应该从文件名中删除完整路径(如果存在)。例如
filename = filename.substring(filename.lastIndexOf('/') + 1);
即使如此,知道服务器端的完整文件路径有什么值(value)?这些信息毫无值(value)。如果您的目的是使用 java.io.File 获取文件句柄,那么您就错了。服务器无法直接访问客户端的本地磁盘文件系统(除非网络浏览器和网络服务器在物理上同一台机器上运行)。您应该通过 FormFile#getInputStream()
以 InputStream
形式获取文件内容然后将其写入临时文件的 OutputStream
中。或者 POI API 本身可能已经直接接受 InputStream
,然后您可以将其传递。
关于java - 在struts中使用FormFile时如何获取完整的文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3790240/