dannyr's Blog
ColdFusion Delphi Flex Java .Net —— 一个都不能少!
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 93 文章- 3 评论- 316
2006年1月19日
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
<?
xml version="1.0" encoding="utf-8"
?>
<
mx:Application
xmlns:mx
="http://www.macromedia.com/2005/mxml"
xmlns
="*"
creationComplete
="init();"
>
<
mx:Script
>
<![CDATA[
import flash.net.FileReference;
import mx.controls.Alert;
import mx.events.AlertClickEvent;
import flash.events.*;
var file:FileReference;
private function init(){
Security.allowDomain("*");
file = new FileReference();
file.addEventListener(ProgressEventType.PROGRESS, onProgress);
file.addEventListener(EventType.SELECT, onSelect);
}
private function upload(){
file.browse();
}
private function onSelect(e:Event){
Alert.show("上传 " + file.name + " (共 "+Math.round(file.size)+" 字节)?",
"确认上传",
Alert.YES|Alert.NO,
null,
proceedWithUpload);
}
private function onProgress(e:ProgressEvent){
lbProgress.text = " 已上传 " + e.bytesLoaded
+ " 字节,共 " + e.bytesTotal + " 字节";
}
private function proceedWithUpload(e:AlertClickEvent){
if (e.detail == Alert.YES){
file.upload("http://localhost/JZService/WebForm1.aspx");
}
}
]]>
</
mx:Script
>
<
mx:Canvas
width
="100%"
height
="100%"
>
<
mx:VBox
width
="100%"
horizontalAlign
="center"
>
<
mx:Label
id
="lbProgress"
text
="上传"
/>
<
mx:Button
label
="上传文件"
click
="upload();"
/>
</
mx:VBox
>
</
mx:Canvas
>
</
mx:Application
>
服务端代码
:WebForm1.aspx
private
void
Page_Load(
object
sender, EventArgs e)
{
//
在此处放置用户代码以初始化页面
HttpFileCollection uploadedFiles
=
Request.Files;
string
Path
=
Server.MapPath(
"
data
"
);
for
(
int
i
=
0
; i
<
uploadedFiles.Count ; i
++
)
{
HttpPostedFile F
=
uploadedFiles[i];
if
(uploadedFiles[i]
!=
null
&&
F.ContentLength
>
0
)
{
string
newName
=
F.FileName.Substring(F.FileName.LastIndexOf(
"
\\
"
)
+
1
);
F.SaveAs(Path
+
"
/
"
+
newName);
}
}
}
posted @
2006-01-19 16:17
dannyr|一个都不能少! 阅读(4031) |
评论 (17)
|
编辑
公告
我的联系方式:
MSN dannyr@163.com
QQ 563178
20060606新计数器
Detail
<
2006年1月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
给我留言
查看留言
随笔分类
.Net技术(22)
(rss)
C++(9)
(rss)
ColdFusion(5)
(rss)
Delphi(2)
(rss)
DevExpress(1)
(rss)
Flex技术(29)
(rss)
Java(4)
(rss)
Laszlo(9)
(rss)
Spry(9)
(rss)
生活随笔(10)
(rss)
杂项(13)
(rss)
随笔档案
2008年6月 (1)
2008年5月 (2)
2007年9月 (2)
2007年8月 (1)
2007年7月 (3)
2007年1月 (1)
2006年12月 (2)
2006年11月 (1)
2006年10月 (6)
2006年9月 (1)
2006年8月 (4)
2006年7月 (1)
2006年6月 (4)
2006年5月 (4)
2006年4月 (2)
2006年1月 (1)
2005年12月 (1)
2005年11月 (1)
2005年10月 (2)
2005年8月 (1)
2005年7月 (1)
2005年6月 (1)
2005年5月 (1)
2005年4月 (1)
2005年3月 (2)
2005年2月 (1)
2005年1月 (3)
2004年12月 (9)
2004年11月 (9)
2004年10月 (9)
2004年9月 (3)
2004年8月 (2)
2004年7月 (6)
2004年6月 (4)
文章分类
ColdFusion
(rss)
Flex技术(3)
(rss)
文章档案
2004年6月 (3)
我的链接
Trademan
(rss)
www.k-zone.cn
(rss)
呼呼堂
(rss)
牛皮糖
(rss)
最新评论
阅读排行榜
1. 任意对象数组ArrayList的排序法(可自定义排序字段、排序方向)(8670)
2. ASP.NET动态加载用户控件的页面生成过程(8650)
3. 征集比较完善的权限管理方案!(最好有C#方案)(6286)
4. 关于上个Flex-Jsp-DB例子中Flex和Jsp传递中文参数问题的解决方法!(Tomcat服务器)(5780)
5. 贴个Flex-Jsp-Mysql简单结合例子(5481)
6. Flex2.0文件上传功能(Flex2.0正式版)(5414)
7. Flex RemoteObject 简单应用Demo(5209)
8. DeKlarit:一个不错的top-down CG工具(4639)
9. Rich Client Fashion(转载)+乱弹(4458)
10. Flex2.0实现文件上传功能(服务器为ASP.NET)(4031)
评论排行榜
1. DeKlarit:一个不错的top-down CG工具(24)
2. 关于上个Flex-Jsp-DB例子中Flex和Jsp传递中文参数问题的解决方法!(Tomcat服务器)(17)
3. Flex2.0实现文件上传功能(服务器为ASP.NET)(17)
4. 如何关闭子线程?征集析构函数与多线程的讨论!(16)
5. 神影无踪-廖添丁FlashGame(15)
6. 征集比较完善的权限管理方案!(最好有C#方案)(13)
7. 贴个Flex-Jsp-Mysql简单结合例子(11)
8. ASP.NET动态加载用户控件的页面生成过程(11)
9. 体验 Delphi2005's ECO II 空间技术(10)
10. Flex2.0文件上传功能(Flex2.0正式版)(10)