- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical" horizontalAlign="left" fontSize="12"
- initialize="init()"
- viewSourceURL="srcview/index.html">
- <mx:NumberFormatter id="filesizeFormatter" useThousandsSeparator="true"/>
- <mx:Script>
- <![CDATA[
- import mx.events.CollectionEvent;
- import mx.formatters.NumberFormatter;
- import mx.formatters.CurrencyFormatter;
- import mx.collections.ArrayCollection;
- import mx.controls.Alert;
- private var fileRefs: FileReferenceList = new FileReferenceList();
- //这个地址是我测试用的服务器地址
- private var urlrequest: URLRequest = new URLRequest("http://localhost:8080/abc/UploadFile");
- [Bindable]
- private var selectedFiles: ArrayCollection = new ArrayCollection([]);
- private var singleThreadFiles: Array = [];
- [Bindable]
- private var useSingleThread: Boolean = true;
- private function init(): void
- {
- Security.allowDomain("*");
- fileRefs.addEventListener(Event.SELECT, fileSelectHandler);
- fileRefs.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
- fileRefs.addEventListener(Event.COMPLETE, completeHandler);
- addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
- }
- private function selectFile(): void
- {
- fileRefs.browse([new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg;*.jpeg;*.gif;*.png"),
- new FileFilter("所有文件(*.*)", "*.*")
- ]);
- }
- private function fileSelectHandler(event: Event): void
- {
- for each (var f: FileReference in fileRefs.fileList)
- {
- selectedFiles.addItem(f);
- }
- }
- private function uploadFile(): void
- {
- for each (var f: FileReference in selectedFiles)
- {
- try
- {
- f.upload(urlrequest);
- }
- catch (e: Error)
- {
- Alert.show(e.message);
- }
- }
- }
- private function singleThreadUploadFile(): void
- {
- //FIFO:逐个从列表中取出,进行同步上传
- if (singleThreadFiles.length > 0)
- {
- var f: FileReference = singleThreadFiles.pop() as FileReference;
- f.addEventListener(Event.COMPLETE, doSingleUploadFileComplete);
- f.upload(urlrequest);
- }
- }
- private function doSingleUploadFileComplete(event: Event): void
- {
- var f: FileReference = event.target as FileReference;
- f.removeEventListener(Event.COMPLETE, doSingleUploadFileComplete);
- singleThreadUploadFile();
- }
- private function ioErrorHandler(e:IOErrorEvent): void
- {
- Alert.show(e.text);
- }
- private function completeHandler(e: Event): void
- {
- img.source = e.target.data;
- }
- private function showImage(e: Event): void
- {
- var f: FileReference = (e.target as DataGrid).selectedItem as FileReference;
- f.addEventListener(Event.COMPLETE, completeHandler);
- //f.load();
- }
- public function removeFile(f: FileReference): void
- {
- var index: int = selectedFiles.getItemIndex(f);
- if (index != -1)
- selectedFiles.removeItemAt(index);
- }
- ]]>
- </mx:Script>
- <mx:VBox>
- <mx:HBox width="100%">
- <mx:Button id="selectFileButton" label="浏览" click="selectFile()"/>
- <mx:Box width="100%" horizontalAlign="right">
- <mx:Button click="selectedFiles.removeAll();" label="清空"/>
- </mx:Box>
- </mx:HBox>
- <mx:DataGrid id="files" dataProvider="{selectedFiles}" change="showImage(event)">
- <mx:columns>
- <mx:DataGridColumn width="150" headerText="文件名" dataField="name" />
- <mx:DataGridColumn headerText="大小(字节)" dataField="size">
- <mx:itemRenderer>
- <mx:Component>
- <mx:Label text="{outerDocument.filesizeFormatter.format(data.size)}" textAlign="right"/>
- </mx:Component>
- </mx:itemRenderer>
- </mx:DataGridColumn>
- <mx:DataGridColumn headerText="上传进度" width="300">
- <mx:itemRenderer>
- <mx:Component>
- <mx:HBox fontSize="10" fontWeight="normal" fontThickness="1">
- <mx:Script>
- <![CDATA[
- import flash.profiler.showRedrawRegions;
- import mx.controls.Alert;
- import mx.controls.ProgressBar;
- private function initProgressBar(event: Event): void
- {
- //使progressbar与file关联,从而产生进度条
- var pb: ProgressBar = event.target as ProgressBar;
- pb.label = "%3%%";
- pb.setProgress(0, 100);
- var f: FileReference = data as FileReference;
- //使用闭包方法,更新进度条
- f.addEventListener(ProgressEvent.PROGRESS,
- function(event: ProgressEvent): void
- {
- pb.setProgress(event.bytesLoaded, event.bytesTotal);
- }
- );
- f.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,
- function (event: DataEvent): void
- {
- //服务器端一定要返回数据,否则,这个方法就不起作用了
- pb.label = event.data;
- }
- );
- }
- ]]>
- </mx:Script>
- <mx:ProgressBar verticalCenter="true" width="100%" paddingLeft="5" paddingRight="5"
- maximum="100" minimum="0" labelPlacement="center" mode="manual"
- label="%3%%" textAlign="left"
- creationComplete="initProgressBar(event)"/>
- <mx:LinkButton label="Cancel">
- <mx:click>
- <![CDATA[
- var f: FileReference = data as FileReference;
- f.cancel();
- ]]>
- </mx:click>
- </mx:LinkButton>
- <mx:LinkButton label="Delete">
- <mx:click>
- <![CDATA[
- var f: FileReference = data as FileReference;
- outerDocument.removeFile(f);
- ]]>
- </mx:click>
- </mx:LinkButton>
- </mx:HBox>
- </mx:Component>
- </mx:itemRenderer>
- </mx:DataGridColumn>
- </mx:columns>
- </mx:DataGrid>
- </mx:VBox>
- <mx:HBox>
- <mx:Button label="上传">
- <mx:click>
- <![CDATA[
- if (useSingleThread)
- {
- //逐个上传
- singleThreadFiles = selectedFiles.toArray().concat();
- singleThreadFiles.reverse();
- singleThreadUploadFile();
- }
- else
- {
- //多个文件同时上传
- uploadFile();
- }
- ]]>
- </mx:click>
- </mx:Button>
- <mx:CheckBox id="checkboxSingleThread" label="同时上传多个文件" selected="{!useSingleThread}"
- change="useSingleThread = !checkboxSingleThread.selected"/>
- </mx:HBox>
- <mx:Image id="img" width="400" height="300"/>
- </mx:Application>
相关推荐
NLP-Beginner 任务一:基于机器学习的文本分类(超详细!!)
NLP-Beginner 任务一:基于机器学习的文本分类传送门一. 介绍1.1 任务简介1.2 数据集1.3 流程介绍二. 特征提取2.1 词袋特征(Bag-of-word)2.2 N元特征 (N-gram)三. 最优化求解3.1 Softmax回归介绍3.2 损失函数3.3 梯度下降3.4 学习率四. 代码及实现4.1 实验设置4.2 结果展示4.3 代码新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、
Flex 4 (Gumbo) 预览本地文件.
Flex 4 之前,在上传文件的时候,是不能浏览或者读取本地文件的。大部分的解决方案就是,先把文件上传到服务器中,然后通过URL对象读取。在新版的Flex 4中有所改善。 在Flex 4中,FileReference 对象新增了load()方法,此方法就是读取选取的文件。通过data属性,就可以返回选择文件的二进制字节数据。 示例代码如下所示: ...
生成式引擎优化(GEO)标准化操作流程:构建高效AI生成系统的全链路指南
GEO是针对生成式AI的内容优化策略,通过提升内容在AI生成答案中的引用优先级实现品牌传播。相比传统SEO,GEO使内容直接嵌入AI答案,无需用户点击链接。核心流程包括:1)逆向拆解AI问答场景,结构化知识资产;2)生产权威内容(白皮书、专利数据)和算法适配内容(PCOE模板);3)技术实现(数据投喂、模型微调);4)331渠道分发策略;5)效果监控与动态防御。需注意采用结构化数据标记、主动提交训练数据,并避免简单复制SEO策略。2025版强调内容权威性和语义优化,通过AI原生内容工程实现高效曝光。
Flex FileReference 应用总结
<br />在Flex SDK 4.0以后,FileReference 才支持对本地文件的读写操作,之前版本是不支持的,所以下面针对Flex SDK4的FileReference 的应用中上一些小问题汇总如下:<br />FileReference的应用的一般套路是:<br />var fileRef:FileReference = new FileReference();<br />fileRef.addEventListener(Event.SELECT,onFileSelected); //文件选中后
VSCode 1.85便携版安装与配置:解决远程服务器glibc版本过低报错的保姆级指南
本文详细介绍了如何通过VSCode 1.85便携版解决远程服务器glibc版本过低导致的兼容性问题。通过环境隔离和版本固化的方法,开发者可以在老旧服务器上稳定运行Remote-SSH插件,同时保留主力VSCode的配置。文章提供了从下载安装到深度配置的完整指南,帮助用户快速搭建稳定的开发环境。
【成功安装】Ubuntu22.04极简方式安装Nvidia驱动
今天下午安装了实机的Ubuntu,面临在Linux上安装Nvidia的问题,被这个问题困扰了一整个下午,各种报错整的我头大。后来发现了不需要按照传统的方式去Nvidia官网下载,再命令行安装,直接在线安装即可。
flex:使用FileReference上传文件
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()" width="1000" height="700" color="#25C1E2"> private const defaultRequestUrl:String = "http
Simulink仿真状态空间中状态变量时域响应
起因 今天老师留了一道关于状态空间变量响应的题,于是想用simulink仿真,一开始使用state-space模块,但是发现它只能输出y,没办法显示状态变量的变化情况。然而状态变量之间的关系都可以表示为一阶微分方程组,因此我们考虑在Simulink中搭建微分方程组来求解这个问题。 微分方程组 x1˙=x2x2˙=−4x1−5x2+1(1)\dot{x_1}=x_2\\ \dot{x_2}=-4x_...
Flex中的文件上传与下载
和传统的JSP一样,在flex中,有的时候也需要实现文件上传和下载的功能,但是在flex里文件的上传和下载的实现相对来说比较复杂,如何实现,请看下面。 由于flex是一个比较新的技术,在研究的时候,还是按着JSP的方式去尝试,在开始之初,主要有以下几种思路: A、利用ftp的方式进行文件的上传和下载,需要利用flex的socket接口。 B、利用webService的
【DRAM存储器四十七】LPDDR5介绍--LPDDR5的低功耗技术之DVFS
讲述LPDDR5的DVFSC和DVFSQ的工作原理和要求
汽车LIN总线(3) -- 协议层:帧的类型
主要介绍LIN协议层中帧的类型,介绍中加入一点自己的理解(带下划线的是,其余是官方资料)。
Flex 多文件上传组件
1. 原理 flex文件上传有两种方式:一是利用FileReference类来完成,直接提交给后加Servlet;而是利用RemoteObject上传,上传的过程要把图片的二进制数组传递到后台进行保存。这里多文件上传选择第一种方法。 2. 步骤 封装多文件上传类。MultiFileUpload.as 封装多文件上传的控制类 FlexFileUpload_cb.as 封装后台文件保存类 U...
蓝牙模块HM-10手册
蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。
flex文件上传下载
和传统的JSP一样,在flex中,有的时候也需要实现文件上传和下载的功能,但是在flex里文件的上传和下载的实现相对来说比较复杂,如何实现,请看下面。 由于flex是一个比较新的技术,在研究的时候,还是按着JSP的方式去尝试,在开始之初,主要有以下几种思路: A、利用ftp的方式进行文件的上传和下载,需要利用flex的socket接口。 B、利用webS...
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
FLEX FTP上传
1、Flex端 A、使用到的类介绍: FileReference 类提供了在用户计算机和服务器之间上载和下载文件的方法。 操作系统对话框会提示用户选择要上载的文件或用于下载的位置。它主要能实现一个文件的上传。 FileReferenceList 类提供了让用户选择一个或多个要上载的文件的方法。 FileReferenceList 对象
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
flex struts2单文件上传、同名文件上传、多文件上传
flexbuilder:3 ,Myeclipse:10.0,struts:2.3. 工程可以在http://download.csdn.net/detail/fansy1990/6621255下载 flex使用FileReference实现单文件上传,使用FileReferenceList实现多文件上传。 1. 单文件上传: flex单文件上传,一般要经过哪些步骤呢? (1)初始化一个F
Flex中文件的上传下载
关键词:文件上传,文件下载,FileReference,FileReferenceList,FileFilter 在项目开发过程中,经常会遇到文件上传下载的问题。但在flex中由于安全沙箱的原因,flex程序不能直接访问本地文件。但是flex SDK中提供了FileReference和FileReferenceList两个类,可以通过这两个类来实现,这两个类位于flash.net包中。一
【心得】Flex中的文件上传与下载
【心得】Flex中的文件上传与下载 和传统的JSP一样,在flex中,有的时候也需要实现文件上传和下载的功能,但是在flex里文件的上传和下载的实现相对来说比较复杂,如何实现,请看下面。 由于flex是一个比较新的技术,在研究的时候,还是按着JSP的方式去尝试,在开始之初,主要有以下几种思路: A、利用ftp的方式进行文件的上传和下载,需要利用flex的soc
Flex+java实现文件上传
用了两天时间学习了下Flex和java配合实现文件上传,找了个小例子。前端当然是flex,后台使用servlet,把代码贴上来,备忘吧: FileUpload.java:import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.Iterator;i
flex filereference upload php,使用 Flex 上传文件
layout="vertical" verticalAlign="middle" horizontalAlign="center">global {fontSize : 12;}// 先搞 1 个 FileReferenceprivate var file:FileReference = new FileReference();// 上传状态指示, 和下面的文本框绑定[Bindable]pr...
Flex实现多文件上传之一:前台部分
2008-04-24 21:43 从网上搜索了一些有关Flex上传文件的文章,如: Flex 2.0 从零开始实现文件上传 Flex2.0文件上传功能(Flex2.0正式版) 一般的原理都是使用FileReference来实现,而FileReference只是单个文件的上传,从上面的两个例子里也可以看得出。其实还 有一个和FileReference一样的用来实现多文件...
Flex4之基于Servlet的文件上传
Flex4之基于Servlet的文件上传<br />文章分类:Flash编程<br />关于flex上传功能的实现依赖于FileReference类。该 类实例对象的创建有两种方法:使用var myFileReference = new FileReference(); FileReferenceList.browse()。使用browse()或者FileReference.browse()方法可以打开上传窗口。<br />下面部分资源来自互联网,一个简单的上传组件代码,包括了监听 Progress
9933



被折叠的 条评论
为什么被折叠?



