java - GWT : fileUpload. getFileName() & fakepath

标签 java gwt cross-platform

我正在开发一个 GWT 项目(网络应用程序):

有时,用户可以通过应用程序通过 FormPanel 上传文件。

因为我需要文件名,所以我想我可以使用:

    FileUpload upload = new FileUpload();
    // ...
    String name = upload.getFileName();

name 结果是这样的:C:\fakepath\whatever.txt

这是跨平台的吗?在其他操作系统(我使用的是 Windows)上会发生什么情况?

最佳答案

上传表单返回的名称取决于浏览器的安全设置。

在 Windows 上,C:\fakepath 用于隐藏文件的实际位置。但是,文件名始终保留。

在其他操作系统上也可能发生同样的情况,它不会是 C:\fakepath(例如,不再 100% 确定 linux 可以返回什么)。

我目前也在基于 GWT 的系统上工作,使用 FileUpload;并且文件名在任何使用过的客户端操作系统上都没有错(只有不同​​的(假)路径)。这用于 Windows、Ubuntu 和 OS/x。您应该能够通过分隔最后一个“/”或“\”来安全地获取正确的文件名(请注意,它们因操作系统而异),或者为此使用 getFileName 方法:).

关于java - GWT : fileUpload. getFileName() & fakepath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6422103/

相关文章:

java - 错误 : Access restriction: The type 'DataSource' is not API (restriction on required library . .\rt.jar)

java - 使用 git 开发具有相同核心的跨平台 Java 应用程序的最佳方法是什么?

java - 运行 Spring 应用程序的 Tomcat 7

java - 在 hosteurope 服务器上的 Jenkins 中运行 android gradle 脚本时出现堆内存问题

java - Gwt ListBox 字母顺序

java - 在 GWT 中使用连字符

sql-server - 如何在flutter中连接easypaisa/jazzcash支付网关?

c++ - 是否有带 C++ 编译器但不带 64 位整数的平台?

java - Excel 单元格 POI 的多种样式

gwt - 在GWT中使用Guava