dannyr's Blog
ColdFusion Delphi Flex Java .Net —— 一个都不能少!
导航
博客园
首页
新随笔
联系
订阅
管理
<
2006年11月
>
日
一
二
三
四
五
六
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
1
2
3
4
5
6
7
8
9
统计
随笔 - 90
文章 - 3
评论 - 308
引用 - 1
公告
我的联系方式:
MSN dannyr@163.com
QQ 563178
20060606新计数器
Detail
与我互动
给我发短消息
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(22)
给我留言
查看留言
随笔分类
.Net技术(20)
(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)
杂项(12)
(rss)
随笔档案
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. re: 检测浏览器类型的js
巧妙! 可惜不太实用..
--簡簡單單..
2. re: 贴个Jsp里嵌入Flex的例子
您好啊,是不是需要什么文件才能在jsp中嵌入mxml代码啊?能发一个给我么,我的邮箱dcht19842005@163.com
--fengf
阅读排行榜
1. 任意对象数组ArrayList的排序法(可自定义排序字段、排序方向)(8178)
2. ASP.NET动态加载用户控件的页面生成过程(7831)
3. 征集比较完善的权限管理方案!(最好有C#方案)(5831)
4. 关于上个Flex-Jsp-DB例子中Flex和Jsp传递中文参数问题的解决方法!(Tomcat服务器)(5383)
5. 贴个Flex-Jsp-Mysql简单结合例子(5211)
6. Flex2.0文件上传功能(Flex2.0正式版)(4726)
7. DeKlarit:一个不错的top-down CG工具(4502)
8. Rich Client Fashion(转载)+乱弹(4400)
9. Flex RemoteObject 简单应用Demo(4273)
10. 关于网友Flex问题相关解答(3804)
评论排行榜
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. 我的IBatisNet的Demo(9)
Flex2.0文件上传功能(Flex2.0正式版)
简介
:
新的Flex2.0类库里提供了文件类,方便了上传/下载文件。下面的程序demo演示了Flex2.0生成flash来访问本地文件,在flash里上传用户选择的文件到服务器,flash客户端可以处理文件上传进度等多个事件,服务器端是C#写的文件接收模块,把用户上传的文件保存在服务器上。
Demo演示了ProgressEvent.PROGRESS, Event.SELECT 2个事件的处理方法。
顺便提一下关于JSP的接收Flex上传文件的方法(很多网友问过这个问题),我建议使用
Jakarta Commons FileUpload
的文件上传组件,详见:
http://jakarta.apache.org/commons/fileupload/
!
测试效果
:
测试环境
:
操作系统:windows2003 Server
Flex版本:Flex 2.0
Flash版本:
flash
Player 9
WEB服务器:
IIS 6.0
.net
FrameWork 1.1
客户端代码
:FileUpload.mxml
<?
xml version="1.0" encoding="utf-8"
?>
<
mx:Application
xmlns:mx
="http://www.adobe.com/2006/mxml"
xmlns
="*"
creationComplete
="init();"
>
<
mx:Script
>
<![CDATA[
import flash.net.FileReference;
import mx.controls.Alert;
import mx.events.CloseEvent;
import flash.events.*;
private var file: FileReference;
private function init(): void{
Security.allowDomain("*");
file = new FileReference();
file.addEventListener(ProgressEvent.PROGRESS, onProgress);
file.addEventListener(Event.SELECT, onSelect);
}
private function upload(): void{
file.browse();
}
private function onSelect(e: Event): void{
Alert.show("上传 " + file.name + " (共 "+Math.round(file.size)+" 字节)?",
"确认上传",
Alert.YES|Alert.NO,
null,
proceedWithUpload);
}
private function onProgress(e: ProgressEvent): void{
lbProgress.text = " 已上传 " + e.bytesLoaded
+ " 字节,共 " + e.bytesTotal + " 字节";
var proc: uint = e.bytesLoaded / e.bytesTotal * 100;
bar.setProgress(proc, 100);
bar.label= "当前进度: " + " " + proc + "%";
}
private function proceedWithUpload(e: CloseEvent): void{
if (e.detail == Alert.YES){
var request: URLRequest = new URLRequest("http://localhost/JZService/WebForm1.aspx");
try {
file.upload(request);
} catch (error:Error) {
trace("上传失败");
}
}
}
]]>
</
mx:Script
>
<
mx:Canvas
width
="100%"
height
="100%"
>
<
mx:VBox
width
="100%"
horizontalAlign
="center"
>
<
mx:Label
id
="lbProgress"
text
="上传"
/>
<
mx:ProgressBar
id
="bar"
labelPlacement
="bottom"
themeColor
="#F20D7A"
minimum
="0"
visible
="true"
maximum
="100"
label
="当前进度: 0%"
direction
="right"
mode
="manual"
width
="200"
/>
<
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 on 2006-11-13 12:02
dannyr|一个都不能少!
阅读(4726)
评论(9)
编辑
收藏
所属分类:
Flex技术
Comments
#1楼
anikin
flash实现上传实时进度不难,能不能用Ajax实现?
Posted @ 2006-11-13 13:27
回复
引用
查看
#2楼
U2U
Flex真是Flexible
Posted @ 2006-11-13 17:18
回复
引用
查看
#3楼
锦瑟 [未注册用户]
要用ajax实时显示进度比较困难,除非重写ms默认的那个upload接口
Posted @ 2006-11-17 02:29
回复
引用
查看
#4楼
[
楼主
]
dannyr|一个都不能少!
Ajax实现上传进度条,网上有很多现成的控件,在google里用"ajax uploadfile"关键字搜索一下,有很多的!!!
Posted @ 2006-11-17 08:59
回复
引用
查看
#5楼
[
楼主
]
dannyr|一个都不能少!
关键字可以改成:“ajax FileUpload”
Posted @ 2006-11-17 09:05
回复
引用
查看
#6楼
x_net [未注册用户]
你好,你有用过Fluorine的remoting吗。能否给个例子关于。NET通过remoting连接flex的,我试了好久没试出来。谢谢
Posted @ 2007-04-04 13:25
回复
引用
查看
#7楼
safe6 [未注册用户]
金融界英语Blog :
http://safe6.blog.hexun.com/
相册:
http://safe6.photo.hexun.com/
祝福你,天天快乐!
Posted @ 2007-10-02 18:46
回复
引用
查看
#8楼
xiaohan [未注册用户]
请教一下,在flex2中能否用display控件实现播放实时视频的功能?比如播放网络摄像机正在监控的内容?谢谢!
Posted @ 2007-11-08 16:37
回复
引用
查看
#9楼
zjut12345 [未注册用户]
文件名为中文时候有没有试过?
Posted @ 2008-03-09 21:17
回复
引用
查看
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2006-11-13 12:36 编辑过
所属分类的其他文章:
·
Flex2.0文件上传功能(Flex2.0正式版)
·
关于JSON
·
Rich Internet Applications 的技术选项
·
看MacroMedia的逐步消失...
·
关于Flex、Tomcat、Jrun、ColdFusion、IIS、ASP.Net结合使用的误区!
·
Flex2.0实现文件上传功能(服务器为ASP.NET)
·
Flex1.5静态编译为Swf
·
Flex RemoteObject 简单应用Demo
·
MACROMEDIA发布FLEX 2系列产品和FLASH PLAYER 8.5
·
MACROMEDIA发布STUDIO 8及相关产品
博客园首页
社区