`
czpae86
  • 浏览: 713501 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

多文件上传UploadPanel for extjs4(swfuoload2.5)

阅读更多

UploadPanel for extjs4 使用的是SWFUpload-2.5实现多文件上传。

 

支持extjs3版本的uploadPanel请在我的博客文章(类别:EXTJS)里面找。

 

一,注意:

1,服务端上传成功返回:

 

{success:true}

 

 

2,服务端上传失败返回:

 

{success:false}

 

3,使用方法:

Ext.create('Ext.ux.uploadPanel.UploadPanel',{
	title : 'UploadPanel for extjs 4.0',
	addFileBtnText : '选择文件...',
	uploadBtnText : '上传',
	removeBtnText : '移除所有',
	cancelBtnText : '取消上传',
	file_size_limit : 10000,//MB
	upload_url : 'upload.do'
});
 

 

4,截图:

 




 

 

  • 大小: 17.8 KB
  • 大小: 15.3 KB
  • 大小: 28 KB
分享到:
评论
22 楼 1642483368 2014-08-21  
貌似问题好多啊,也查不出来是什么问题。
21 楼 1642483368 2014-08-19  
能否在线指导一下,我的qq号是:1642483368。

1642483368 写道
   你好,非常感谢你博客给我带来的帮助,根据提供的资料,我已经可以把文件传到指定目录fileupload/下,但现在还有个问题请教你。
    问题描述:文件已经能传到指定目录fileupload/下,但是提示上传失败,我返回的信息为:'{"success":true}'。
    我的后台方法为(请指点一下):
    public String multiUpload(HttpServletRequest request, HttpServletResponse response,
            BindException errors) throws Exception {
        // 文件处理器
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        // 文件列表
        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
        // 获取服务器上传文件夹地址
        String ctxPath = request.getSession().getServletContext().getRealPath("/") + "\\"
                + "fileupload\\";
        // 创建文件夹
        File file = new File(ctxPath);
        if (!file.exists()) {
            file.mkdir();
        }

        String fileName = null;
        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
            // 单个文件
            MultipartFile mf = entity.getValue();
            // 文件名
            fileName = new String(mf.getOriginalFilename().getBytes("ISO8859-1"), "UTF-8");
            // 创建文件
            File uploadFile = new File(ctxPath + fileName);
            // copy从内存中复制到磁盘上
            FileCopyUtils.copy(mf.getBytes(), uploadFile);
        }
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("success", true);
        return jsonObj.toString();
    }

20 楼 1642483368 2014-08-18  
   你好,非常感谢你博客给我带来的帮助,根据提供的资料,我已经可以把文件传到指定目录fileupload/下,但现在还有个问题请教你。
    问题描述:文件已经能传到指定目录fileupload/下,但是提示上传失败,我返回的信息为:'{"success":true}'。
    我的后台方法为(请指点一下):
    public String multiUpload(HttpServletRequest request, HttpServletResponse response,
            BindException errors) throws Exception {
        // 文件处理器
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        // 文件列表
        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
        // 获取服务器上传文件夹地址
        String ctxPath = request.getSession().getServletContext().getRealPath("/") + "\\"
                + "fileupload\\";
        // 创建文件夹
        File file = new File(ctxPath);
        if (!file.exists()) {
            file.mkdir();
        }

        String fileName = null;
        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
            // 单个文件
            MultipartFile mf = entity.getValue();
            // 文件名
            fileName = new String(mf.getOriginalFilename().getBytes("ISO8859-1"), "UTF-8");
            // 创建文件
            File uploadFile = new File(ctxPath + fileName);
            // copy从内存中复制到磁盘上
            FileCopyUtils.copy(mf.getBytes(), uploadFile);
        }
        JSONObject jsonObj = new JSONObject();
        jsonObj.put("success", true);
        return jsonObj.toString();
    }
19 楼 niaodan 2014-05-25  
wusendong 写道
lzy83925 写道
你这个有个非常严重的bug ,你这个panel一旦关闭后 我系统里所有的数据请求都关闭了,再也不能请求了


关闭窗口出错的解决方法:
onRemove方法中的ds.removeAll();应改为:
if(ds.getCount()!=0){
ds.removeAll();
}


///////////////////
试试
onRemoveAll : function() {
var ds = this.store;
for (var i = 0; i < ds.getCount(); i++) {
var record = ds.getAt(i);
var file_id = record.get('id');
this.swfupload.cancelUpload(file_id, false);
}
if (ds.getCount() != 0) { 
ds.loadData([], false);
} else {
showFailMesg({
msg : '上传任务列表为空,请选择上传文件。'
});
}
this.swfupload.uploadStopped = false;
}
18 楼 bflcf 2014-04-30  
后台怎么作,请高手给个试例
17 楼 wusendong 2014-03-28  
lzy83925 写道
你这个有个非常严重的bug ,你这个panel一旦关闭后 我系统里所有的数据请求都关闭了,再也不能请求了


关闭窗口出错的解决方法:
onRemove方法中的ds.removeAll();应改为:
if(ds.getCount()!=0){
ds.removeAll();
}
16 楼 testspringmail 2013-11-08  
能否给个完整的。。。
15 楼 ovenjackchain 2013-08-26  
楼主,问题挺多的,我用4.2的,能否出个完整的demo?
1.浏览按钮没反应
2.关闭window,第二次打开,一堆事件错误
3.点上传按钮'uploadStopped' of undefined
。。。
14 楼 const1234 2013-08-16  
怎么点了选择文件按钮,没有效果,是不是这个事件要自己写的
13 楼 agata 2013-05-31  
火狐下不兼容的说,360也不行,继续调试
12 楼 lzy83925 2013-05-22  
你这个有个非常严重的bug ,你这个panel一旦关闭后 我系统里所有的数据请求都关闭了,再也不能请求了
11 楼 lzy83925 2013-05-22  
返回的文件id 前台怎么获得
10 楼 junjun16818 2013-04-27  
遇见一个错误,关闭窗体时 源码中onRemove 函数ds.removeAll();报错!store在执行removeAll函数时会刷新表格,但onRemove事件是在grid销毁后执行,导致出现Cannot call method 'updateLayout' of undefined ,ds.removeAll(true) 就可以不刷新表格
9 楼 junjun16818 2013-04-27  
一下子就通过了嘿 谢谢lz  用nodejs做的后台
8 楼 GIS-阿飞 2013-03-13  
IE支不支持?
7 楼 cypress0722 2013-03-01  
兄弟,请给一个jsp版的例子 ,感激不尽
6 楼 czpae86 2013-01-10  
xiaoyingjianke 写道
  出错的多

错在哪里?
5 楼 xiaoyingjianke 2013-01-10  
  出错的多
4 楼 chengjiansunboy 2012-11-24  
能提供一下java后台代码吗?自己写的一直在报错,谢谢.
3 楼 FireZHFox 2012-11-20  
我是Ext初学者,公司项目需要,可是我在页面中写了上面的代码,也引入了相应的文件,可是浏览器中什么都不显示啊?求帮助

相关推荐

Global site tag (gtag.js) - Google Analytics