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

标签 java javascript

在不上传 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/

相关文章:

javascript - For 循环中的数组项中的 ParseQuery

c# - 在模型上添加动态只读属性

Java/Eclipse 64 位性能

java - 操作从 postForObject 返回的 JSON

javascript - 从其他正则表达式创建正则表达式

javascript - 在 AngularJS 中自动创建服务实例(无延迟加载)

javascript - 无法从旧的 jscalendar 干净地升级到新的 jscal2 版本

java - 从oracle表加载3000万条记录到内存

java - 装饰器模式(我可能滥用)的问题

java - 如何根据键对 GSON 数组进行排序?