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,一经查实,立即删除!

相关文章

UVA 116——Unidirectional TSP

题意&#xff1a;给定一个n*m的矩阵&#xff0c;从第一列任意位置向右&#xff0c;右下&#xff0c;右上走一格&#xff0c;可以循环&#xff0c;要求经过的数字的和最小。 思路&#xff1a;记忆化搜索。每次有三个状态&#xff0c;从这三个状态中选择出最优的一个&#xff0c;…

【高性能定时器】 时间轮

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

知识管理的三种策略

知识管理的三种策略 面向流程的知识管理战略&#xff0d;实施篇&#xff08;上&#xff09;(AMT研究院 周瑛 编译) 转载于:https://www.cnblogs.com/yangfada/archive/2006/01/24/322381.html

java 考试复习整理——JAVA类和类成员的修饰符

今天整理了一下以前学的JAVA的类和类成员的修饰符&#xff0c;考试的时候可能会考到。一&#xff1a;访问修饰符&#xff1a;1.省略访问修饰符&#xff1a;具有默认的访问特性&#xff0c;即具有包访问特性&#xff0c;只能被同一个包中的类使用。2.public访问修饰符&#xff1…

【安利】程序猿作图神器 - 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 …

uva 11400——Lighting System Design

题意&#xff1a; 给定一些灯泡&#xff0c;每种灯泡有不同的电压v&#xff0c;电源费用k&#xff0c;每个灯泡的费用c&#xff0c;所需的灯泡的数量L&#xff0c;同种灯泡可以使用相同电源&#xff0c;问最小花费。 思路&#xff1a;dp&#xff0c;每种灯泡要么选要么不选两种…

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

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

uva 11584——Partitioning by Palindromes

题意&#xff1a;给定一个字符串&#xff0c;把该字符串划分为最少的回文串。 思路&#xff1a;dp&#xff0c;到达i点的回文串长度都存起来&#xff0c;那么dp[i]min(以i为结尾的最短的回文串长度&#xff09;。 code&#xff1a; #include <bits/stdc.h> using namespa…

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

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

2006年2月8日 再见,Borland

昨天早上从David I的Blog上看到了Borland出售IDE产品线转而全面发展ALM的消息,既感到惋惜又似乎感到新的希望 之所以惋惜是因为Delphi是我第一个喜欢的语言&#xff0c;也是Delphi第一次让我对编程产生兴趣&#xff0c;还记得我的第一个小软件就是Delphi5.0做的&#xff0c;而如…

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

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

uva 10003——Cutting Sticks

题意&#xff1a;给定一长为L的木棍和n个切割点&#xff0c;每次切割的费用为切割的长度&#xff0c;求最小的费用。 思路&#xff1a;dp,子问题是区间&#xff08;i&#xff0c;j&#xff09;的最小费用&#xff0c;临界是&#xff08;i,j)只有一个切割点。dp[i,j]min(dp[i,k]…

小叔叔又飞走了

小叔叔在飞走之前&#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;没有进…

uva 1626——Brackets sequence

题意&#xff1a;定义满足 1.空序列 2.&#xff08;&#xff09;&#xff08;X&#xff09;及括号和其括起来的合法序列 3.【】要求和&#xff08;&#xff09;相同 都是合法的串。 然后给定一段序列&#xff0c;求添加最小的&#xff08;&#xff09;或【】使得序列合法。…

定时器与超时的设置

一、相关时间函数1. gettimeofday()2. time()3. clock() 二、间隔定时器1. setitimerval()2. getitimerval()3. 实时定时器的使用 三、为阻塞操作设置超时1. alarm()2. 给read()设置读超时 一、相关时间函数 1. gettimeofday() 获取日历时间。 #include <sys/time.…

世界 Web 2.0 网站评奖揭晓

Web 2.0真的成了我们在互联网不可或缺的一部分&#xff0c;成了互联网的未来趋势.(你现在用了吗?)国外的 SEOmoz 网站最近举行了一个 Over 300 web 2.0 sites reviewed and ranked 活动列出了300多家 Web 2.0 网站, 分为38个分类, 评出了每个类别下的前三名, 并采访了 20位获奖…

win10宽带连接断网自动重连

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