`
410012636
  • 浏览: 3669 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Extjs中Firefox获取上传文件的全路径

 
阅读更多


function readFileFirefox(fileBrowser) {
    try {
        netscape.security.PrivilegeManager
                .enablePrivilege("UniversalXPConnect");
    } catch (e) {
        alert('路径错误!');
        return;
    }

    var fileName = fileBrowser.value;
    var file = Components.classes["@mozilla.org/file/local;1"]
            .createInstance(Components.interfaces.nsILocalFile);
    try {
        file.initWithPath(fileName.replace(/\//g, "\\\\"));
    } catch (e) {
        if (e.result != Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH)
            alert('路径错误!');
        return;
    }

    if (file.exists() == false) {
        alert("File '" + fileName + "' not found.");
        return;
    }
    return file.path;
}

var form = new Ext.form.FormPanel({
        id : 'form',
        bodyStyle : itemPadding,
        title : '上传文件',
        header : true,
        fileUpload : true,
        height : 160,
        items : [{
            xtype : 'textfield',
            inputType : 'file',
            fieldLabel : '上传文件',
            id : 'uploadFileFieldPath',
            allowBlank : false,
            blankText : '请输入要导入数据完整路径'
        }],
        buttons : [{
            id : 'importBtn',
            text : '导入',
            handler : function() {
                if (form.form.isValid()) {
                    var filePath = Ext.getCmp('uploadFileFieldPath').getValue();
                    if ((navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent
                            .indexOf("Mozilla") != -1)
                            && (!Ext.isIE)) {
                        filePath = readFileFirefox(document
                                .getElementById('uploadFileFieldPath'));
                    }
                    form.form.submit({
                        url : 'saveLogImportAjax.action',
                        params : {
                            realFilePath : filePath
                        },
                        success : function(form, action) {
                            Ext.Msg.alert('提示', action.result.resultString);
                        },
                        failure : function(form, action) {
                            Ext.Msg.alert('提示', action.result.resultString);
                        }
                    });
                }
            }
        }]
});

传入到action的realFilePath就是上传文件的绝对路径了。网上找了好久才找到的,记录一下。

分享到:
评论

相关推荐

    EXTJS 多文件上传

    在EXTJS中,`MultiFileUploadField` 是一个组件,它允许用户在单个操作中选择并上传多个文件,极大地提升了用户交互体验。这个功能对于处理大量文件上传的场景非常有用,比如在内容管理系统、图像库或者文件分享平台...

    ExtJS原生多文件拖动上传组件

    ExtJS原生多文件拖动上传组件 使用时修改包路径 1.多文件上传 2.支持拖动上传 3.支持图片压缩 4.支持图片合并 5.文件排序 可扩展实时图片预览 api //初始化画板 initCanvas //上传文件窗口 uploadWindow //初始化...

    ExtJS验证上传文件类型

    ExtJS 中实现文件上传功能是非常方便的,但对于新手来说,控制文件上传类型是一个难题。例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出错误提示呢?这篇文章将详细...

    ExtJS4多文件上传,带进度条及管理

    总之,"ExtJS4多文件上传,带进度条及管理"是Web开发中的高级功能,它结合了ExtJS4的组件化开发优势和swfupload的高效上传能力,为用户提供了一流的文件上传体验。开发者需要掌握相关技术和API,才能灵活地实现这一...

    extjs 4.2 多文件上传

    用Ext编写的多文件上传组件,已封装。 支持多文件上传,文件下载,文件删除,

    批量上传文件 EXTJS文件上传 上传组件

    在EXTJS中,实现批量上传文件是一项常见的需求,尤其在处理大量数据或媒体文件时。EXTJS的文件上传组件提供了方便的方式来处理这些任务,允许用户一次性选择多个文件进行上传,极大地提高了工作效率。 批量上传文件...

    extjs 多文件上传

    在ExtJS中实现多文件上传功能,能够极大地提升用户体验,特别是在处理大量数据或文件时。本篇文章将详细探讨如何使用ExtJS实现多文件上传,并涵盖相关的关键知识点。 一、ExtJS 文件上传组件 在ExtJS中,我们可以...

    Extjs+Struts2实现异步文件上传

    网上有些这样的例子,但是下了几个都没有跑起来,哎,希望那些发文章的人要发就发全的,别发个半生不熟的。... 现在自己整理了一个Struts2+ExtJS2实现文异步文件上传,没法上传图片无法看到效果,直接上源码吧。

    ExtJS 多文件上传 UploadDialog For ExtJS3.x

    ### ExtJS 多文件上传 UploadDialog For ExtJS3.x #### 概述 在Web开发领域,特别是使用ExtJS框架进行界面设计时,文件上传功能是必不可少的一部分。然而,随着ExtJS版本的更新,原有的多文件上传组件可能不再兼容...

    EXTJS3.0多文件上传组件

    在"EXTJS3.0多文件上传组件"中,我们主要关注的是如何利用EXTJS3.0的功能来实现一个高效的、用户友好的多文件上传功能。 首先,`swfupload.js`是Flash-Based的文件上传库,它允许用户在不离开当前页面的情况下进行...

    Java+Extjs实现单文件上传

    在IT行业中,文件上传是常见的功能之一,尤其是在Web应用程序中。本话题主要关注如何使用Java后端和ExtJS前端框架来实现单文件上传的流程。下面将详细讲解这个过程涉及的关键知识点。 首先,我们来看Java文件上传。...

    ExtJS3.4和VS2010上传文件的进度条

    标题中的“ExtJS3.4和VS2010上传文件的进度条”涉及的是一个使用ExtJS3.4版本的JavaScript库与Microsoft Visual Studio 2010(VS2010)进行文件上传,并在上传过程中显示进度条的功能。这个功能在Web应用程序中非常...

    Extjs结合Asp.net文件上传

    - 在文件上传中,ASP.NET通常使用`HttpPostedFileBase`类来接收客户端上传的文件,并通过服务器端代码处理文件存储、验证和安全检查。 3. **文件上传实现**: - 客户端:在Ext JS中,用户选择文件后,会触发表单...

    extjs+dwr3.0实现文件上传

    在“EXTJS+DWR3.0实现文件上传”这个主题中,我们将探讨如何结合这两者来实现一个高效且用户友好的文件上传功能。在实际的Web应用中,文件上传是一个常见的需求,例如在社交媒体平台上传图片、在文档分享网站上传...

    ExtJS实现多文件上传UploadDialog For ExtJS3.x

    在本文中,我们将深入探讨如何使用ExtJS 3.x实现多文件上传功能,结合Struts2框架进行数据处理。首先,我们需要确保环境配置正确。在描述中提到,我们需要将一系列Struts2相关的库文件复制到项目的`WebContent\lib`...

    ExtJS带进度条的多文件上传和图片预览

    在"ExtJS带进度条的多文件上传和图片预览"这个项目中,它展示了如何利用ExtJS来实现一个高效且用户友好的文件上传功能,尤其适用于处理大量或大体积的文件。下面将详细介绍这个项目中的关键知识点。 1. **ExtJS组件...

    extjs多文件上传

    在IT行业中,多文件上传是Web应用中常见的一项功能,特别是在需要用户批量上传图片、文档等数据时。本文将深入探讨“extjs多文件上传”这一主题,结合标签“源码”和“工具”,我们将主要关注如何使用ExtJS库实现这...

    extjs java 上传文件进度条

    2. **Ajax异步上传**:ExtJS支持使用Ajax进行文件的异步上传,这样可以在不刷新页面的情况下完成文件传输,同时通过回调函数获取并更新进度条的状态。 3. **Java后端处理**:Java服务器端需要处理文件接收、存储...

    Extjs4文件上传,后台struts2

    在本文中,我们将深入探讨如何使用ExtJS 4与Struts2框架实现文件上传功能。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件,而Struts2是Java Web开发中的一个MVC框架,用于处理后端业务逻辑。下面,我们...

    能运行的ExtJs+Struts2文件上传

    在多文件上传中,用户可以选择多个文件,一次性上传,这在现代Web应用中非常常见,例如图片库、文档分享平台等。"直接导入就可以运行"意味着这个项目已经配置好,开发者只需要将其部署到合适的环境中即可运行,这...

Global site tag (gtag.js) - Google Analytics