dhtmlXVault 用户指南
1.主要特征
跨浏览器/多平台支持
每个文件都有进度条
全部用JavaScript控制
支持ASP.NET
支持JSP
支持PHP/Perl
2.支持的浏览器
· IE 5.x 和以上版本
· Mozilla 1.4和以上版本
· FireFox 0.9和以上版本
3. dhtmlXVault工作过程
3.1在页面上初始化一个对象
3.2服务器处理描述
· Upload处理
-是上传得主要处理方法.它是在服务器上来解析请求对象(来自表单数据的多个部分)和存储文件。 同样,收集进度信息和在应用和会话上下文保存它,因为下个处理会读到它。
· GetInfo 处理 – 针对返回进度信息来处理(作为上传的百分率)。
· GetId 处理 –只要你一上传,处理就会调用,来获取唯一的文件传输Id。这个值在以后上传得进度信息会读到。
4.运行的界面:
5.dhtmlXVault.js:
dhtmlXVaultObject = function()
{
this.isUploadFile = "false";
this.isUploadFileAll = "false";
this.countRows = null;
this.idRowSelected = null;
this.sessionId = null;
//server handlers
this.pathUploadHandler = null;
this.pathGetInfoHandler = null;
this.pathGetIdHandler = null;
//demo
this.isDemo = true;
this.progressDemo = null;
//from PHP
this.MAX_FILE_SIZE = null;
this.UPLOAD_IDENTIFIER = null;
}
dhtmlXVaultObject.prototype.setServerHandlers = function(uploadHandler, getInfoHandler, getIdHandler)
{
this.pathUploadHandler = uploadHandler;
this.pathGetInfoHandler = getInfoHandler;
this.pathGetIdHandler = getIdHandler;
}
dhtmlXVaultObject.prototype.create = function(htmlObject)
{
this.parentObject = document.getElementById(htmlObject);
this.parentObject.style.position = "relative";
this.parentObject.innerHTML = "<iframe src='about:blank' id='dhtmlxVaultUploadFrame' name='dhtmlxVaultUploadFrame' style='display:none'></iframe>";
this.containerDiv = document.createElement("div");
this.containerDiv.style.cssText = "position:absolute;overflow-y:auto;height:190px;background-color:#FFFFFF;border:1px solid #878E95;top:10px;left:10px;z-index:10;width:410px";
this.parentObject.appendChild(this.containerDiv);
this.container = document.createElement("div");
this.container.style.position = "relative";
var str = "<table style='background-color:#EDEEEF;border: 1px solid #7A7C80;' border='0'>" +
"<tr><td style='width:420px' colspan=3 align='center' id = 'cellContainer' >" +
"<div style='height:200px;'></div>" +
"</td></tr>" +
"<tr><td style=';width: 80px; height: 32px;' align='left'></td>" +
"<td style='width: 200px; height: 32px;' align='left'>" +
"<img _onclick='UploadControl.prototype.uploadAllItems()' _ID='ImageButton3' src='../share/imgs/btn_upload.gif' style='cursor:pointer'/></td>" +
"<td style='width: 140px; height: 32px;' align='right'>" +
"<img _onclick='return UploadControl.prototype.removeAllItems()' _ID='ImageButton3' src='../share/imgs/btn_clean.gif' style='cursor:pointer;margin-right:20px'/></td></tr></table>" +
"<div _id='fileContainer' style='width:84px;overflow:hidden;height:32px;left:0px;direction:rtl;position:absolute;top:211px'>" +
"<img style='z-index:2' src='../share/imgs/btn_add.gif'/>" +
"<input type='file' id='file1' name='file1' value='' class='hidden' style='cursor:pointer;z-index:3;left:7px;position:absolute;height:25px;top:0px'/></div>";
this.container.innerHTML = str;
var self = this;
this.container.childNodes[0].rows[1].cells[1].childNodes[0].onclick = function() {
self.uploadAllItems()
};
this.container.childNodes[0].rows[1].cells[2].childNodes[0].onclick = function() {
self.removeAllItems()
};
this.fileContainer = this.container.childNodes[1];
this.fileContainer.childNodes[1].onchange = function() {
self.addFile()
};
this.uploadForm = document.createElement("form");
this.uploadForm.method = "post";
this.uploadForm.encoding = "multipart/form-data";
<span styl
分享到:
相关推荐
### 通过 AJAX 监控文件上传进度 在 Web 开发中,文件上传是常见的功能之一。传统的文件上传机制是基于 HTTP 协议的表单提交,即用户通过 `<input type="file">` 选择文件后,整个表单或文件被一次性发送到服务器。...
下面我们将详细探讨如何利用AJAX和JSP实现基于WEB的文件上传进度控制。 一、AJAX基础 AJAX是一种创建动态网页的技术,它允许在后台与服务器交换数据并更新部分网页内容,而无需重新加载整个页面。核心组件包括...
为了显示文件上传进度,我们需要监听XMLHttpRequest对象的`progress`事件。该事件会在数据传输过程中被触发,通过`event.loaded`和`event.total`可以获取已上传和总大小,进而计算出进度: ```javascript xhr....
通过分析这些代码,我们可以深入理解如何将AJAX和Prototype结合,实现基于Web的文件上传进度控制。 总的来说,这个源代码示例旨在教授开发者如何使用AJAX和Prototype库创建一个用户友好的文件上传功能,同时展示...
**Ajax 实现文件上传技术详解** 在Web开发中,用户经常需要进行文件上传操作,而传统的文件上传方式通常会刷新整个页面,导致用户体验不佳。...希望这个教程能帮助你理解并实现Ajax文件上传功能。
为了解决这一问题,本文将详细介绍如何利用AJAX技术实现基于Web的文件上传进度控制。这种方法不仅可以提高用户体验,还能让开发者更好地监控文件上传过程,从而实现更高效的文件管理。 #### 二、解决方案概述 该...
- **事件监听**:`Ajax`可以监听文件上传的进度,如开始、加载中、完成等状态,通过回调函数实时更新用户界面。 - **JSON响应**:后端处理完文件上传后,可以返回一个JSON对象,包含成功与否的信息,前端根据这个...
提供的JavaScript代码示例中,通过`functionsAlert(txt)`函数实现了弹出框的功能,用于展示文件上传进度。该函数通过创建DOM元素的方式构建了一个带有遮罩层的弹出框,并通过`XMLHttpRequest`或`ActiveXObject`对象...
本文将深入探讨如何利用jQuery和AJAX实现文件上传,并重点介绍`ajaxfileupload.js`这个jQuery插件。 首先,jQuery是一个轻量级的JavaScript库,它简化了DOM操作、事件处理和Ajax交互等任务。而AJAX(Asynchronous ...
Ajax技术的出现为解决这一问题提供了可能,它允许我们在不刷新整个页面的情况下进行异步通信,从而实现文件上传进度条的功能。下面将详细讲解如何利用Ajax实现文件上传进度条。 首先,我们需要理解Ajax的基本原理。...
本教程将基于标题“大文件上传,ajax实现,支持10G以上的上传”和描述,详细介绍如何使用AJAX实现大文件上传,并探讨其背后的原理和技巧。 首先,理解大文件上传的关键在于分块上传。当文件过大时,一次性上传整个...
为了提供更好的用户体验,开发者通常会采用AJAX(Asynchronous JavaScript and XML)技术实现异步文件上传,避免传统方式下页面刷新带来的中断感。AJAX允许在后台与服务器进行通信,而无需刷新整个页面。本篇文章将...
通过以上步骤,我们可以实现一个完整的AJAX文件上传进度控制,以及对应的进度条显示。这种实现方式提高了用户的交互体验,避免了页面刷新,使得大文件上传更加友好。同时,通过服务器端实时反馈进度,确保了上传过程...
综上所述,通过AJAX实现文件上传带进度条的关键在于使用XMLHttpRequest对象进行异步通信,监听文件选择、上传进度和请求状态的变化。同时,通过前端验证确保上传的文件符合服务器的预期,从而提供更好的用户体验。在...
在文件上传场景中,Ajax 可以实现后台静默上传,用户无需等待页面刷新,可以看到实时的上传进度,提升了交互性。 在传统的文件上传方式中,用户选择文件后,浏览器会发送一个包含文件数据的表单请求到服务器,这...
ASP.NET AJAX 多文件上传是一种在Web应用中实现高效、用户友好的文件上传方式,它结合了ASP.NET技术和AJAX(Asynchronous JavaScript and XML)的优势,提供了异步上传功能,使得用户无需等待整个页面刷新就能完成...
虽然可以手动实现AJAX文件上传,但有许多优秀的库和框架可以帮助我们简化工作,如jQuery的`$.ajax`或`$.fileUpload`,AngularJS的`ng-file-upload`,React的`react-dropzone`等。 ### 总结 "上传文件AJAX"技术使得...
在这个项目中,SSH2框架与Ajax技术结合,实现了一个带进度条的文件上传功能,并且这个功能已经被封装成了自定义标签,方便在页面上直接使用。 首先,让我们深入理解SSH框架的每个组件: 1. **Struts2**:Struts2是...