0 0

extjs文件上传成功后,却弹出了下载框!伤心!10


hi 大家好:

    有个问题要请教大家!

    我用extjs+struts1.2做文件上传时,当文件上传成功后,却弹出了下载框,而Ext里提交后的回调函数却不能响应,为什么呢? 我使用了oreilly的COS上传组件。
前台代码是:
var upwin = new Ext.Window({   //一个窗口
    width:350,
    title: 'Excel文件上传', 
    height:180,
    closeAction:'close',  //关闭图标 hide  / close
    plain: true,
    modal:true,
    autoScroll:true,     //自动滚动
        containerScroll: false,
    layout: 'fit',
    items:[  
                           new Ext.form.FormPanel({   
           labelAlign: 'right',   
           labelWidth: 60,   
           frame:true,  
      url: 'pushMgrAction.do?method=uploadFile',//fileUploadServlet   
         width: 300,   
         height:200,  
         fileUpload: true,  
       items: [{   
        xtype: 'textfield',   
        fieldLabel: '文件名',   
        name: 'file', 
        width: '250',
        inputType: 'file'//文件类型   
      }]  
     })
                      ],
    buttonAlign : 'center',
    buttons: [{   
        text: '导 入',   
        handler: function() {
        upform.getForm().submit({   
           success: function(form, action){
              Ext.Msg.alert('信息', action.result.msg);   
           },   
           failure: function(){  Ext.Msg.alert('错误', '文件导入失败');},
           waitMsg : '正在导入数据,请等待...'
     });   
    }   
  },{ text: '关 闭',handler: function(){ upwin.close(); }
    }]
    });
        upwin.show();
    }
var upform = ;

action中的代码是:
response.setContentType("text/json; charset=gb2312");
MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize, "gb2312");   
       
        XlsImport xlssave = new XlsImport();
        //输出反馈信息   
        Enumeration files = multi.getFileNames();
        while (files.hasMoreElements()) {   
            String name = (String)files.nextElement();   
            File f = multi.getFile(name);   
            if(f!=null){   
              String fileName = multi.getFilesystemName(name);   
              String lastFileName= saveDirectory+"\\" + fileName;   
              java.io.File tmpfile = new java.io.File(lastFileName);
    if (tmpfile.exists()) {
              xlssave.xlsToDB(user.getEmpid(), lastFileName);
              if(xlssave.getErrors().equals("")){
            redata = "{success:true,msg:'成功导入了"+xlssave.getRowCount()+"条数据!'}" ;
           }else{
          redata = "{success:false,msg:'"+xlssave.getErrors().toString()+"'}";
           }
    }
    tmpfile.delete();
            }   
        }
        out.write(redata);
out.flush();
2008年11月04日 18:54

1个答案 按时间排序 按投票排序

0 0

FormPanel 上加上fileUpload : true 试一下

2008年11月05日 10:32

相关推荐

    extjs弹出框 n秒后消失

    实现EXTJS弹出框在n秒后自动消失,我们可以利用EXTJS的定时器(Ext.util.DelayedTask)和弹出框(Ext.MessageBox)的配置选项。下面我们将详细讨论如何实现这个功能。 首先,EXTJS的弹出框主要通过`Ext.MessageBox....

    点击上传弹出上传对话框extjs+strust2.rar

    【标题】"点击上传弹出上传对话框extjs+strust2.rar" 是一个与Web开发相关的资源,其中涉及到两种关键技术:ExtJS和Struts2。这个压缩包可能包含了一个完整的示例或教程,用于展示如何在Web应用程序中实现一个功能,...

    Extjs下/HTML下的文件下载(另存为的弹出)

    5. **“另存为”对话框**:当`a`标签的`download`属性被设置时,浏览器会在用户点击后弹出“另存为”对话框,允许用户选择保存位置。 6. **HTML环境下的处理**:对于纯HTML环境,实现方式类似,只是没有Extjs提供的...

    EXTJS 多文件上传

    9. **文件管理**:在上传成功后,EXTJS 还可以帮助管理和展示已上传的文件,例如在列表中显示文件名、大小、日期等信息。 `MultiFileUploadField.js` 文件是EXTJS框架中实现`MultiFileUploadField` 功能的具体代码...

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

    EXTJS是一种基于JavaScript的前端框架,它提供了丰富的用户界面组件,包括用于文件上传的组件。在EXTJS中,实现批量上传文件是一项常见的需求,尤其在处理大量数据或媒体文件时。EXTJS的文件上传组件提供了方便的...

    ExtJS弹出密码输入框的js文件

    4. **错误处理**:如果用户输入不符合要求,例如,密码太短或包含非法字符,弹出框可能会展示错误信息,并允许用户重新输入。 5. **用户体验**:考虑到密码输入的敏感性,修改后的`prompt`方法可能还包含了其他UX...

    ExtJS验证上传文件类型

    例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出错误提示呢?这篇文章将详细讲述ExtJS如何验证文件上传类型。 使用 Validator 验证文件类型 在 ExtJS 中,我们...

    ExtJS实现文件下载

    4. 在请求成功后,解析服务器返回的JSON数据,并利用`window.location.href`触发文件下载。 5. 后台服务器应提供一个接口,返回包含文件路径的JSON响应。 这个过程展示了ExtJS如何与其他技术(如PHP)配合,实现...

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

    3. **事件监听**:设置事件监听器,如文件选择、开始上传、上传进度、上传成功或失败等。 4. **进度条更新**:通过swfupload提供的API获取每个文件的上传进度,并更新对应的进度条。 5. **文件操作**:提供暂停、...

    Extjs多文件上传

    同时,提供清晰的用户反馈,如弹出消息框或更新状态栏。 以上就是使用ExtJS 4实现多文件上传的基本流程。需要注意的是,多文件上传可能涉及到浏览器兼容性问题,特别是对于`multiple`属性和`FormData`对象,所以...

    extjs多文件上传

    例如,当文件上传成功,你可以更新ExtJS的数据存储,或者显示一个成功的提示。 4. **用户界面**:为了展示上传进度,可以使用ExtJS的进度条组件,并根据Plupload的进度更新其值。同时,可以创建一个列表或网格来...

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

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

    Extjs4文件上传,后台struts2

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

    ExtJS 多文件上传 UploadDialog For ExtJS3.x

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

    extjs 多文件上传

    当用户选择文件后,可以遍历所有文件字段,对每个文件创建一个新的`FormData`实例,并发起单独的上传请求。 总结: 在ExtJS中实现多文件上传,需要结合HTML5的`FormData`、`Ajax`或`XMLHttpRequest`,以及服务端的...

    extjs+swfupload实现多文件上传下载删除带进度条

    本篇将详细讲解如何利用`ExtJS`和`SwfUpload`来创建一个支持多文件上传、下载和删除,并带有进度条显示的系统。 `ExtJS`是一个基于JavaScript的UI框架,它提供了丰富的组件库和强大的数据绑定机制,可以构建出复杂...

    extjs 4.2 多文件上传

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

    EXTjs 文件上传(可用)

    本文将深入探讨如何使用EXTjs进行文件上传,并结合Strut2实现这一功能。 首先,EXTjs 提供了`Ext.form.FileField`组件,用于在表单中创建文件选择字段。这个组件允许用户选择本地文件,然后通过AJAX方式提交到...

    EXTJS3.0多文件上传组件

    综上所述,EXTJS3.0多文件上传组件结合了EXTJS的组件化开发优势和SWFUpload的多文件上传功能,为开发者提供了一个高效且易于定制的文件上传解决方案。通过深入理解和掌握相关知识点,可以开发出满足不同需求的多文件...

Global site tag (gtag.js) - Google Analytics