- 浏览: 1466375 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
luhouxiang:
写的很不错,学习了
Extjs 模块化动态加载js实践 -
kingkongtown:
如果想改成淘宝后台那样,可以在编辑器批量上传图片呢?
kissy editor 阶段体会 -
317966578:
兄弟我最近也在整jquery和caja 开放一些接口。在git ...
caja 原理 : 前端 -
liuweihug:
Javascript引擎单线程机制及setTimeout执行原 ...
setTimeout ,xhr,event 线程问题 -
辽主临轩:
怎么能让浏览器不进入 文档模式的quirks模式,进入标准的
浏览器模式与文本模式
利用了 ahxu-commons-fileuploadex-beta2.jar ,
将 一些Ext控件功能 进行 复合 得到 fileProgressPanel
if (!yiminghe) var yiminghe = {}; yiminghe.fileProgressPanel = function() { this.pbar1 = new Ext.ProgressBar( { //实例化进度条 // cls: "custom", //renderTo: "progressbarExt", //进度条呈现的一个DIV width: 280, //进度条的宽度 text: "0%" //在进度条里的初始文本 }); this.window = new Ext.Window( { //width: 300, frame: true, //layout:'fit', title: '上传文件进度', closable: false, modal: true , hidden:true, width:300, renderTo: document.body , items:[ { layout: 'form', defaults: { anchor: '95%' } , items: [ { xtype: 'field', value:'...', fieldLabel :'上传速度', id:'speed', readOnly:true }, { xtype: 'field', value:'...', fieldLabel :'总大小', id:'totalSize', readOnly:true }, { xtype: 'field', value:'...', fieldLabel :'已上传', id:'readTotalSize', readOnly:true }, { xtype: 'field', value:'...', fieldLabel :'估计剩余时间', id:'remainTime', readOnly:true }, { xtype: 'field', value:'...', fieldLabel :'估计总时间', id:'totalTime', readOnly:true } ] } , this.pbar1 ], bbar: new Ext.StatusBar({ defaultText: '消息', id: 'file-statusbar'}) }) ; } yiminghe.fileProgressPanel.prototype = { setMessageContent:function (mes) { Ext.getCmp('file-statusbar').showBusy(mes); } , GetProgressDetailcallback:function (options, success, detail) { var detail_info = detail.responseText; if (!detail_info) return; var start = detail_info.indexOf("<detail-start>"); var end = detail_info.indexOf("</detail-start>"); if (start != - 1 && end != - 1) { detail_info = detail_info.substring(start + 14, end); var detail_info_array = detail_info.split("||"); var fileName = detail_info_array[0]; if (fileName.length > 15) fileName = "..." + fileName.slice(fileName.length - 16); this.setMessageContent("上传文件 " + fileName); this.pbar1.updateProgress(detail_info_array[1] / 100.0); this.pbar1.updateText('进度 : ' + detail_info_array[1] + "%"); this.setUploadDetail(detail_info_array[2], detail_info_array[3], detail_info_array[4], detail_info_array[5], detail_info_array[6]); } } , setUploadDetail:function (speed, readTotalSize, totalSize, remainTime, totalTime) { Ext.getCmp('speed').setValue(speed + ' K/S'); Ext.getCmp('readTotalSize').setValue(readTotalSize + ' M'); Ext.getCmp('totalSize').setValue(totalSize + ' M'); Ext.getCmp('remainTime').setValue(remainTime); Ext.getCmp('totalTime').setValue(totalTime); } , GetProgressDetail : function () { var conn = new Ext.data.Connection(); // 发送异步请求 conn.request({ // 请求地址 url: 'progressdetail.jsp', method: 'GET', // 指定回调函数 callback: this.GetProgressDetailcallback, scope:this }); } , stop: function () { this.time_pro.stopAll(); this.window.hide(); }, start:function() { this.window.show(); this.setUploadDetail('...', '...', '...', '...', '...'); this.setMessageContent("正在进行连接..."); var task = { run: function() { //alert(this.interval); this.GetProgressDetail(); }, scope:this, interval: 1000 //1 second }; this.time_pro = new Ext.util.TaskRunner(); this.time_pro.start(task); } };
jsp 后端:
<%@ page contentType="text/html; charset=gb2312" language="java"%> <%@ page import="ahxu.commons.upload.*"%> <%! HttpSession ses; ReportItem aReportItem; %> <% ses=request.getSession(false); aReportItem=DefaultReportItemManage.getItem(ses); if(aReportItem!=null){ out.println("<detail-start>"); out.println(aReportItem.getFileName()+"||" +aReportItem.getCompletePercent()+"||" +aReportItem.getUploadSpeedKB()+"||" +aReportItem.getUploadSizeMKB()+"||" +aReportItem.getTotalSizeMKB()+"||" +aReportItem.getRemainTimeHMS()+"||" +aReportItem.getTotalTimeHMS()); out.println("</detail-start>"); } %>
调用 见
Ext 多文件上传面板扩展
主要是 new ,start ,stop
发表评论
-
Extjs 实践细节备忘 -3
2009-04-12 20:26 24321. dragdrop 继承层次 dd - ... -
Extjs 实践细节备忘 -2
2009-04-12 05:43 27521. grid 列宽问题 可以指定 每列的宽度数值 ... -
Extjs 实践细节备忘 -1
2009-04-11 01:47 2713在使用 extjs 开发 OAOP 应用中 ,除了API文档外 ... -
长字串换行问题
2009-03-01 23:10 5790很久没用过 ,textarea ... -
Extjs portal 应用初探
2009-02-24 23:09 6009近期在研究拖放的实现 ,看了看 Extjs 的 portal ... -
Extjs 模块化动态加载js实践
2009-01-09 18:12 23509前一段转载了一篇 透明加载外部 javascript ... -
Extjs 聊天窗口 -续3 用pushlet来实现
2008-12-23 22:16 16095前一篇 自己实现了http长连接 , 很繁琐,后 ... -
Extjs 聊天窗口 -续2 - http长连接的实现
2008-12-16 00:55 13336认为长连接就是有个http请求被服务器阻塞了 ,这样的话浏览 ... -
Extjs CRUD 模板
2008-12-12 00:52 7814也算是一个总结吧,备忘,总结了一个增删改查的例子,以后要达到的 ... -
Ext 聊天窗口的实现 - 续
2008-12-02 15:13 6703<filter> <fil ... -
Ext 树操作
2008-11-10 23:21 4505后台 树 节点 定义 menu_info { ... -
Ext 一个聊天窗口的设计
2008-11-10 00:26 37751.关键是要 弹性设计,自动适应浏览器 部件要: ... -
Ext.data.Store 与 GridFilters
2008-11-03 16:12 5368Store 每次 reload 会记着上次的参数,比如 pa ... -
Ext official doc - class-event-observer
2008-10-23 18:20 1441....ppt -
Ext 多文件上传面板扩展
2008-10-23 16:53 8383扩展了 Ext.Panel ,加入文件框列表 ,并控制删 ... -
Ext Grid 表头显示问题
2008-09-27 23:51 3346出现问题了,当 Grid div 放在 table 布局下的话 ... -
JSON marsh && unmarsh
2008-09-23 00:46 1989Ext 端用 //Encodes an Objec ... -
[extjs] formpanel 标准提交问题
2008-09-19 02:29 3339formpanel 的 标准提交 有 bug? var ta ... -
ComboBox 传值问题
2008-09-19 00:07 5302field -> textfield->trigg ... -
Ext 2 概述
2008-09-18 01:11 2302欢迎来到Ext 2.0。 在下列各章节中,你将会接触到E ...
相关推荐
4. **进度条显示**: 在描述中提到的“上传速率、进度条等”功能,是通过监听文件上传的进度事件实现的。当文件上传时,服务器会返回已上传部分的信息,这些信息被用于更新进度条,展示当前的上传状态,增强用户体验...
本教程将详细讲解如何利用EXT4、HTML5以及Servlet或Struts2技术栈来实现一个功能强大的相册系统,其中包括文件拖拽上传、实时上传进度显示以及本地预览功能。 **EXT4组件库** EXT4是一个JavaScript框架,用于构建富...
EXT文件批量上传源代码是一种基于EXT JavaScript库实现的前端文件上传解决方案。EXT是一个强大的富客户端JavaScript框架,它提供了丰富的组件库,用于构建交互性强、功能丰富的Web应用。EXT的文件批量上传功能允许...
- 进度条显示:在上传过程中,组件会显示每个文件的上传进度,提供良好的用户体验。 - 错误处理:当上传失败时,组件能够捕获错误并提供相应的反馈信息。 - 文件预览:支持预览某些类型的文件,如图片,让用户...
5. **进度条显示**: 为了让用户了解上传进度,可以使用Ext的ProgressBar组件配合Ajax请求的事件监听。当文件上传过程中,根据服务器返回的进度信息更新进度条的状态。 6. **错误处理和验证**: 无论是前端还是后端,...
4. **进度条显示**:在文件上传过程中,显示上传进度对用户体验至关重要。通过监听`progress`事件,我们可以实时更新上传进度条。ExtJS提供了`Ext.ProgressBar`组件来创建进度条,并可以通过`updateProgress`方法...
首先,EXTJS中的`Ext.form.Panel`组件是实现多文件上传的基础。我们需要创建一个包含`Ext.form.FileField`的表单,这是EXTJS中用于处理文件输入的组件。在`FileField`中,我们可以通过设置`multiple`属性为`true`来...
在上述代码中,我们介绍了使用ExtJS实现文件上传的基本流程,包括创建FileField、监听事件、使用FormData和XMLHttpRequest发送请求,以及在客户端显示上传进度。当然,实际应用可能需要更复杂的逻辑,如错误处理、多...
3. **进度条和状态提示**:SwfUpload.js支持文件上传进度的实时显示,开发者可以通过监听事件来更新UI,告知用户当前的上传进度。 4. **错误处理**:当文件过大、格式不正确或网络问题导致上传失败时,组件应提供...
在博文《https://endeavor416.iteye.com/blog/260474》中,作者可能详细讲解了EXTJS实现文件上传的过程,包括如何配置表单、设置上传URL、监听文件选择事件、处理文件上传进度和错误等。由于无法直接访问这个链接,...
在给定的"Ext上传文件控件"中,我们关注的是ExtJS如何处理文件上传的功能。ExtJS 提供了一个名为`Ext.form.FileField`(也称为`Ext.form.field.File`)的组件,允许用户在Web表单中选择和上传文件。这个控件通常与`...
4. **进度条显示**:为了提升用户体验,EXT Demo可能包含了文件上传进度的可视化反馈,可能是通过EXT的进度条组件`Ext.ProgressBar`实现的。 5. **事件监听**:EXT的事件驱动模型使得开发者能监听并处理文件选择、...
3. **进度条**:在文件上传过程中,EXT3.0的UploadDialog可能提供进度条展示,让用户了解当前上传进度,提高用户体验。 4. **错误处理**:当文件过大、格式不正确或者网络问题导致上传失败时,UploadDialog应该能够...
通过这个"Ext文件上传完整包",开发者可以获得一个完整的文件上传解决方案,无需从零开始编写所有代码,大大提高了开发效率。在使用过程中,确保理解每个组件的工作原理和API,以便灵活地定制和扩展功能以满足特定...
在本文中,我们将深入探讨如何在ExtJS框架中实现文件上传功能,并且特别关注"Ext 文件上传 Icons"这一主题。ExtJS是一个强大的JavaScript库,用于构建富客户端应用程序,其组件模型强大,支持丰富的用户界面元素。当...
同时,前端可以通过回调函数来更新UI,显示上传进度或错误信息。 在提供的压缩包`upl`中,可能包含了以下文件: 1. `SWF配置文件`:定义了文件上传的工作流程,包括步骤、事件和界面布局。 2. `EXT表单组件`:包含...
2. **进度条**:显示每个文件上传的进度,增强用户体验。 3. **取消上传**:用户可以取消正在进行的上传操作。 4. **错误处理**:如果上传过程中发生错误,如网络问题或文件大小限制,组件应能适当地通知用户。 5. *...
1. **上传对话框**:一个弹出式窗口,显示文件选择界面和上传进度信息。用户可以选择多个文件进行上传,同时展示每个文件的上传状态。 2. **文件选择器**:允许用户浏览本地文件系统并选择一个或多个图片文件。EXT...
SwfUpload是一个Flash实现的文件上传组件,它允许在浏览器端进行多文件并发上传,同时支持文件预览和进度条显示。由于Flash在处理跨域请求上有一定的优势,SwfUpload常被用于解决跨域文件上传的问题。SwfUpload通过...