在Firefox中文件上传

时间:2011-03-04 05:01:57

标签: java gwt browser servlets

我无法在FireFox和Safari中上传文件,但我能够在资源管理器中成功完成。    当我试图调试时,我发现在IE的情况下,上传浏览器将整个文件作为例如C:\ Documents and Settings \ jjayashree \ My Documents \ price.csv    但在FF和safari中,上传小部件只是给出没有扩展名的文件名。    以前的代码是这样的    if(fileName.contains(“\”)){             index = fileName.lastIndexOf(“\”);         }

    if (this.fileName != null && this.fileName.trim().length() > 0 && index >= 0) {
        this.fileName = this.fileName.substring(index + 1, this.fileName.length());
    int dotPosition = fileName.lastIndexOf('.');
        String extension = fileName.substring(dotPosition + 1, fileName.length());
        try {

            if (profileType.equalsIgnoreCase("sampleProfile")) {
                if (extension.equalsIgnoreCase("csv")) {
                    //fileNameTextBox.setText(this.fileName);
                    this.form.submit();
                } else {
                    new CustomDialogBox(Nexus.INFO_MESSAGE, MessageConstants.SPECIFY_FILE_NAME_MSG).show();
                }
            }
    } catch (Exception e) {
           Window.alert("SPECIFY_VALID_FILE_NAME_MSG");
        }
    } else {
           Window.alert("SPECIFY_A_FILE_MSG");
    }
我把它改成了 if(this.fileName!= null&& this.fileName.trim()。length()> 0){ this.fileName = this.fileName.substring(this.fileName.lastIndexOf(“\”)+ 1,this.fileName.length()); }

我发现它有效,但是当在linux中部署同样的iam时出现错误

我也怀疑在使用fileName.replace(“\”,“/”)的servlet的doPost中;

这是问题所在。 。 mozilla如何遇到这个fileName.replace()它只是看到并发现没有什么可以被重复并且去或者它会抛出任何类型的异常

1 个答案:

答案 0 :(得分:0)

也许试试gwtupload?它简化了文件加载到一个函数调用,并为您处理所有后端。开始工作有点复杂,但网站上有关于如何操作的教程。

http://code.google.com/p/gwtupload/