最近在学习flex, 看来些资料, 写了个flex上传文件。 现在贴出来记录一下。
实现上传文件,上传处理进度以及取消上传等功能。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.events.CloseEvent;
import mx.controls.Alert;
import mx.managers.CursorManager;
private var file:FileReference = new FileReference();
private var serverSide:String = "http://www.flash.com/uploadPic.php";//指明后台处理的文件
[Bindable]
private var percent : int = 0;
public function init():void
{
file.addEventListener(Event.SELECT, selectHandler);
file.addEventListener(Event.COMPLETE, completeHandler);
file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteDataHandler);
browseBtn.addEventListener(MouseEvent.CLICK, browseHandler);
}
public function browseHandler(event:MouseEvent): void
{
file.browse();
}
public function reset(): void
{
// clear input file
fileTxt.text="";
// reset process bar
processBar.setProgress(0, 100);
processBar.visible=false;
processBar.label="Uploading " + 0 + "%";
}
public function selectHandler(event:Event): void
{
// display selected file
fileTxt.text=file.name;
}
public function ioErrorHandler(event:IOErrorEvent): void
{
Alert.show("upload file IO Error!");
}
public function uploadCompleteDataHandler(event:DataEvent): void
{
}
public function progressHandler(event:ProgressEvent): void
{
var size:int = file.size;
percent = event.bytesLoaded/event.bytesTotal * 100;
// set process bar
processBar.setProgress(percent, 100);
processBar.label="Uploading " + percent + "%";
if (event.bytesLoaded == event.bytesTotal)
{
processBar.label="Upload file successfully!";
image.visible=false;
}
}
private function completeHandler(event:Event):void
{
}
public function upload(): void
{
if(fileTxt.text == "")
{
Alert.show("Please select upload file");
return;
}
processBar.visible=true;
image.visible=true;
file.upload(new URLRequest(serverSide));
}
public function cancelHandler():void
{
Alert.show("Could you cancel the uploading!","Confirm", 3, this, cancelEvent);
}
public function cancelEvent(event:CloseEvent):void
{
if (event.detail == Alert.YES)
{
file.cancel();
image.visible=false;
processBar.setProgress(0, 100);
processBar.label="You have canceled the upload file!";
}
}
]]>
</mx:Script>
<mx:Panel width="428" height="256" layout="absolute" title="File Upload" fontSize="12" y="58" x="59">
<mx:Label x="49" y="32" text="File:"/>
<mx:TextInput x="88" y="30" id="fileTxt" width="226" editable="false"/>
<mx:Button id="browseBtn" x="316.5" y="30" label="Browse"/>
<mx:Button id="uploadBtn" x="88" y="92" label="UPLOAD IT" click="upload()"/>
<mx:Button id="cancelBtn" x="183" y="92" label="Cancel" visible="false"/>
<mx:Button id="resetBtn" x="231" y="92" label="Reset" click="reset()"/>
<mx:ProgressBar id="processBar" labelPlacement="bottom" themeColor="#EE1122" minimum="0"
visible="false" maximum="100" color="0x323232" label="Loading 0%"
direction="right" mode="manual" width="358.5" y="144" x="21.5"/>
<mx:Image id="image" visible="false" x="381" y="139" source="assets/cancel_16.png" click="cancelHandler()"/>
</mx:Panel>
</mx:Application>
- 大小: 6.8 KB
- 大小: 9.4 KB
- 大小: 16.6 KB
分享到:
相关推荐
在标题“FLEX上传文件,flex upload”和描述“flex上传文件的例子,支持多文件上传。”中,我们关注的核心知识点是Flex中的文件上传功能。 文件上传是Web应用中的常见需求,特别是在处理用户提交的多媒体内容时。在...
本项目提供了一个完整的Flex文件上传控件,且集成了Java服务端处理,允许用户上传文件到服务器,并能进行多文件或单文件选择,以及设置上传文件大小限制,同时展示上传进度条,为用户提供友好的交互体验。...
Mobile FLEX上传文件是一种在移动设备上利用Adobe Flex技术实现文件上传至服务器的过程。Flex是基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA),它支持多种平台,包括移动设备。在本场景中,...
Flex上传文件到.NET服务器是一种常见的交互方式,尤其在开发富互联网应用程序时。本文将深入探讨Flex客户端如何与.NET服务器进行文件上传的详细过程,并提供关键的技术知识点。 首先,`Flex`是一个开源的富互联网...
- **Button**:两个按钮,分别用于打开文件选择对话框(选择文件)和上传文件。 - **List**:用于显示已选中的文件列表。 - **Button**:用于触发文件下载操作。 - **ProgressBar**:用于显示文件上传进度。 #### ...
在Flex中处理文件上传是一项常见的任务,尤其是在开发涉及用户交互和数据交换的Web应用时。下面我们将深入探讨Flex中的文件上传机制及其限制。 1. Flex文件上传组件:Flex提供了FileReference类,它是Flash Player ...
FileReference提供了选择文件、读取文件内容以及上传文件的方法。例如,你可以创建一个按钮,当用户点击时弹出文件选择对话框,选择的文件将存储在FileReference对象中。然后,通过调用FileReference的upload方法,...
- 开始上传文件时,监听器会捕捉到`Event.COMPLETE`事件,表示文件上传完成。 - 在上传过程中,通过`ProgressEvent.PROGRESS`事件实时更新进度条。 #### 4. **异常处理** 当出现无法浏览文件或者上传失败的情况时...
1. **FileReference类**:Flex中的FileReference类是与文件操作相关的基础,它允许用户选择一个或多个文件,并提供了读取、保存和上传文件的功能。 2. **事件监听**:在用户选择文件后,我们需要监听DataEvent....
一个实现FLEX图片上传转换二进制的类 替换通过外部服务上传
实现DataGrid多文件上传,希望对你有帮助!
在Flex上传文件的场景中,我们需要创建一个自定义的HttpHandler,处理POST请求,并接收从Flex客户端传来的文件数据。接收到文件后,可以将其保存到服务器的指定位置。 下载部分则相对简单,通常由Flex客户端发起...
Flex 文件上传的文件代码 交你一步一步的完成上传功能
1. **安全性**:确保只有授权的用户才能上传文件,并且上传的文件不包含恶意代码。 2. **并发性**:如果多个用户同时上传,服务器需要处理并发请求,避免资源冲突。 3. **用户体验**:提供良好的反馈,如进度指示、...
标题“Flex多文件上传+md5验证文件是否上传”揭示了该技术的核心要点:使用Flex来处理多个文件的上传,并通过MD5哈希校验确保上传的文件与原始文件一致,防止数据篡改。 1. **多文件上传**:在Flex中,可以利用...
例如,使用HTTPS进行加密传输,对上传文件进行病毒扫描,以及限制非法文件类型。同时,优化文件传输速度,比如采用分块上传和断点续传,以提高大文件上传的效率。 6. **后端接口**:Flex前端需要与后端服务进行交互...
本文将深入探讨“flash上传文件,flex上传,无刷新上传,php上传”这一主题,并结合提供的源码文件,分析实现这些功能的关键技术和步骤。 首先,让我们了解一下“Flash上传文件”。在早期的Web开发中,Flash由于其强大...
这个类提供了选择本地文件、读取文件内容以及上传文件到服务器的方法。用户通过点击按钮触发文件选择对话框,选择后,`FileReference`会处理文件并准备上传。 3. **事件监听**:为了跟踪文件选择和上传过程,我们...
Flex文件上传组件是一种基于Adobe Flex技术的用户界面组件,它允许用户在Web应用程序中选择并上传文件。在Flex中,这种组件通常会显示一个文件选择对话框,让用户选择要上传的文件,并且会提供一个进度条来显示上传...
在Flex中,通过FileReference类选择和上传文件;在Java端,使用Spring MVC的MultipartFile接口接收并处理上传的文件。这个过程涉及到前端与后端的交互,对理解网络通信和文件处理机制有很好的实践意义。