Flex2.0实现文件上传功能(服务器为ASP.NET)

简介
        新的Flex2.0类库里提供了文件类,方便了上传/下载文件。下面的程序demo演示了Flex2.0生成flash来访问本地文件,在flash里上传用户选择的文件到服务器,flash客户端可以处理文件上传进度等多个事件,服务器端是C#写的文件接收模块,把用户上传的文件保存在服务器上。
        Demo演示了ProgressEventType.PROGRESS, EventType.SELECT 2个事件的处理方法。

测试效果




测试环境

操作系统:windows2003 Server
Flex版本:Flex 2.0 Alpha 1
Flash版本: flash Player 8.5
WEB服务器:
          IIS 6.0
         .net FrameWork 1.1


客户端代码:FileUpload.mxml

None.gif<?xml version="1.0" encoding="utf-8"?>
None.gif
<mx:Application xmlns:mx="http://www.macromedia.com/2005/mxml"
None.gif    xmlns
="*" creationComplete="init();">
None.gif    
<mx:Script>
None.gif        
<![CDATA[
None.gif            import flash.net.FileReference;
None.gif            import mx.controls.Alert;
None.gif            import mx.events.AlertClickEvent;
None.gif            import flash.events.*;
None.gif
None.gif            var file:FileReference;
None.gif
None.gif            private function init(){
None.gif                Security.allowDomain("*");
None.gif                file = new FileReference();
None.gif                file.addEventListener(ProgressEventType.PROGRESS, onProgress);
None.gif                file.addEventListener(EventType.SELECT, onSelect);
None.gif            }
None.gif
None.gif            private function upload(){
None.gif                file.browse();
None.gif            }
None.gif            
None.gif            private function onSelect(e:Event){
None.gif                Alert.show("上传 " + file.name + " (共 "+Math.round(file.size)+" 字节)?",
None.gif                           "确认上传",
None.gif                           Alert.YES|Alert.NO,
None.gif                           null,
None.gif                           proceedWithUpload);
None.gif            }
None.gif            
None.gif            private function onProgress(e:ProgressEvent){
None.gif                lbProgress.text = " 已上传 " + e.bytesLoaded 
None.gif                    + " 字节,共 " + e.bytesTotal + " 字节";
None.gif            }
None.gif            
None.gif            private function proceedWithUpload(e:AlertClickEvent){
None.gif                if (e.detail == Alert.YES){
None.gif                    file.upload("http://localhost/JZService/WebForm1.aspx");                    
None.gif                }
None.gif            }
None.gif        
]]>
None.gif    
</mx:Script>
None.gif    
None.gif    
<mx:Canvas width="100%" height="100%">
None.gif        
<mx:VBox width="100%" horizontalAlign="center">
None.gif            
<mx:Label id="lbProgress" text="上传"/>
None.gif            
<mx:Button label="上传文件" click="upload();"/>            
None.gif        
</mx:VBox>
None.gif    
</mx:Canvas>
None.gif
</mx:Application>



服务端代码:WebForm1.aspx

ExpandedBlockStart.gifContractedBlock.gif        private void Page_Load(object sender, EventArgs e) dot.gif{
InBlock.gif            
// 在此处放置用户代码以初始化页面
InBlock.gif
            HttpFileCollection uploadedFiles =  Request.Files;
InBlock.gif            
string Path = Server.MapPath("data");
ExpandedSubBlockStart.gifContractedSubBlock.gif            
for(int i = 0 ; i < uploadedFiles.Count ; i++dot.gif{
InBlock.gif                HttpPostedFile F 
= uploadedFiles[i];
ExpandedSubBlockStart.gifContractedSubBlock.gif                
if(uploadedFiles[i] != null && F.ContentLength > 0dot.gif{   
InBlock.gif                    
string newName = F.FileName.Substring(F.FileName.LastIndexOf("\\"+ 1);
InBlock.gif                    F.SaveAs(Path 
+ "/" + newName);
ExpandedSubBlockEnd.gif                }

ExpandedSubBlockEnd.gif            }

InBlock.gif
ExpandedBlockEnd.gif        }

None.gif



转载于:https://www.cnblogs.com/dannyr/archive/2006/01/19/320386.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【高性能定时器】 时间轮

时间轮 简述 顾名思义&#xff0c;时间轮就像一个轮子&#xff0c;在转动的时候外界会指向轮子不同的区域&#xff0c;该区域就可以被使用。因此只要将不同时间的定时器按照一定的方法散列到时间轮的不同槽&#xff08;即时间轮划分的区域&#xff09;之中&#xff0c;就可以实…

【安利】程序猿作图神器 - Graphviz

还在为在linux下画二叉树等图苦恼吗&#xff0c;现在就安利一波linux程序猿的作图神器——Graphviz。&#xff08;本来在写其他东西&#xff0c;刚好要绘图&#xff0c;强行插入一篇blog&#xff09; Graphviz (Graph Visualization Software) 是一个由AT&T实验室启动的开源…

仿ISQL功能的实现,可以实现批处理功能

具体请见下载文件&#xff1a;/Files/bigmouthz/DNet写的数据库isql执行程序&#xff08;含源码&#xff09;.rar部分代码如下&#xff1a; DBCore.DataBaseVisitor.AbsDBHelper dbhelper null ; private void bt_DBLink_Click(object sender, System.EventArgs e) { try …

【高性能定时器】时间堆(最小堆)

最小堆及其应用&#xff1a;时间堆 最小堆及其应用&#xff1a;时间堆 一、 堆1. 概念2. 最小堆的实现3. 性质4. 代码 二、时间堆1. 概念简述2. 实现细节3. 代码 一、 堆 1. 概念 堆是一种经过排序的完全二叉树&#xff0c;其中任一非终端节点的数据值均不大于&#xff08;或…

【操作系统】生产者消费者问题

生产者消费者模型 文章目录生产者消费者模型 [toc]一、 生产者消费者问题二、 问题分析三、 伪代码实现四、代码实现&#xff08;C&#xff09;五、 互斥锁与条件变量的使用比较一、 生产者消费者问题 生产者消费者问题&#xff08;英语&#xff1a;Producer-consumer problem&…

【计算机网络】三次握手与四次挥手

三次握手与四次挥手 通过TCP/IP协议的学习&#xff0c;我们可以知道TCP协议是一种面向连接的、可靠的传输协议。其中&#xff0c;为了保证客户端与服务器连接的有效性&#xff0c;就有了本篇文章所要介绍的“三次挥手”&#xff1b;而“四次挥手”则是为了保证连接的正确断开。…

小叔叔又飞走了

小叔叔在飞走之前&#xff0c;昨天晚上&#xff0c;给我们看了&#xff0c;他回老家拍下的&#xff0c;家里每个人的视频&#xff0c;&#xff08;前面这半句话说得好累&#xff0c;不过应该不是病句&#xff09;让我们看了动情又亲切&#xff0c;至少我是这么觉得。一个大家庭…

系统调用中断(EINTR)与SIGCHLD信号的处理

一、被中断的系统调用(EINTR)的理解1. 慢系统调用是&#xff1f;2. 慢系统调用的类别3. EINTR产生的原因5. 一般处理方法 二、SIGCHLD信号的处理1. SIGCHLD信号的产生2. SIGCHLD信号的处理3. 不处理SIGCHLD的后果 三、示例代码 一、被中断的系统调用(EINTR)的理解 1. 慢系…

SMO写的查看数据库信息的代码

要分析一个比较大的数据库&#xff0c;里面的表太多了&#xff0c;虽然是中文命名&#xff0c;但在2005的Management Studio中查看还是比较麻烦&#xff0c;比如&#xff0c;我想查看具有相同字段名称的表的情况就不好办。于是用SMO写了这个东东。代码比较乱&#xff0c;没有进…

win10宽带连接断网自动重连

文章目录1. 断开网络连接&#xff0c;重命名网络连接2. bat代码&#xff1a;检测到断线自动重连3. 设置开机自动执行3.1 方式一&#xff1a;任务计划程序3.2 方式二&#xff1a;用vbs代码开机运行bat1. 断开网络连接&#xff0c;重命名网络连接 中文名字可能出现远程访问错误 …

ubuntu20环境下使用DevStack安装Openstack-Wallaby(单节点、多节点)

文章目录一、单节点部署1. 环境准备1.1 镜像源1.2 pip源1.3 安装依赖包2. OpenStack安装 - wallaby2.1 添加stack用户2.2 设置代理2.3 下载devstack&#xff0c;使用-b指定版本2.4 进入devstack目录&#xff0c;编辑配置文件2.5 开始安装2.6 安装完成二、多节点部署1. 环境准备…

EMF的一些总结(2)——关于EMF的序列化

关于EMF的序列化对于EMF的序列化有几个比较重要的接口&#xff1a;Resource,ResourceSet,Resource.Factory,URIConverter。这些接口的主要作用就是保存模型到持久化存储介质&#xff0c;或者从持久化存储介质加载模型。1&#xff0e;关于URI&#xff08;Uniform Resource Ident…

单链表实例之学生系统

单链表实例之学生系统 #include<stdio.h> #include<stdlib.h>#define NAME_LEN 20typedef struct node {int number;char *name;struct node *next; } node_t;node_t *g_head; int add_stu() {node_t *new, *tmp;tmp g_head;char *name;new (node_t *)malloc(si…

公司培训文档-JavaScript[对象.属性]集锦

SCRIPT 标记 用于包含JavaScript代码. 属性 LANGUAGE 定义脚本语言 SRC 定义一个URL用以指定以.JS结尾的文件 windows对象 每个HTML文档的顶层对象. 属性 frames[] 子桢数组.每个子桢数组按源文档中定义的顺序存放. feames.length 子桢个数. self 当前窗口. parent …

查询分析器下如何备份数据库

查询分析器下如何备份数据库backupdatabasemsdb todiskd:\msdb.bakOK搞定转载于:https://www.cnblogs.com/CnKker/archive/2006/09/26/515318.html

Inside Dynamics Axapta源代码赏析(四)

第八章:Developing Applications Using Business Connector 这一章的代码主要演示如何通过Business Connector与Axapta交互在Dynamics Axapta的客户端安装目录中找到Microsoft.Dynamics.BusinessConnectorNet.dll这个文件,添加到VS.NET的工程中.1.HelloWorldBC.csclassHelloWor…

信号之函数的可重入性

信号之函数的可重入性 在调用某个函数过程中出现中断信号&#xff0c;且改信号处理函数中再次调用该函数&#xff0c;访问全局、静态变量的函数是不可重入函数。 前后数据不一致&#xff0c;函数是不可重入的&#xff0c;特点&#xff1a;函数中使用全局变量或静态变量。 前后数…

ASP.NET 中处理页面“回退”的方法

我们在编写基于 ASP.NET 的应用程序时&#xff0c;如果代码执行出错或检测到异常&#xff0c;一般会提示用户“返回”或“回退”&#xff0c;或者在多步操作、列表/详细的查看界面中&#xff0c;也会给用户提供回退到上一页面的链接&#xff0c;对于这种情况&#xff0c;大家很…

编辑器

1.FCKeditor 编辑器 FCKeditor is compatible with most internet browsers which include: IE 5.5 (Windows), Firefox 1.0, Mozilla 1.3 and Netscape 7. 最新版本:FCKeditor 2.0 语言环境:多国语言特性功能:所见所得,支持平台众多,支持XHTML 1.0,文本格式设置,常见的编辑,复…

VSTO---excel编程 [待续] [12月5日更新,详见文档下面]

最近比较闲了&#xff0c;考试也快要到了。但是编程技术方面还是不能掉啊.现在开始VSTO编程之旅了。这个话题是连Blog的。所以有兴趣的Blog之友&#xff0c;技术之士&#xff0c;可以匿名或者非匿名的评论&#xff0c;交流。对了&#xff0c;下面的代码都是本人写的&#xff0c…