关于flash后台通信问题,大家先看下
火山的Flash+asp教程:
http://bbs.blueidea.com/thread-2701824-1-1.html
转入正题。
其实这个问题,我一直都忽略了。我是从Flash MX时代走过来的人,MX2004出来后,AS就没有再去认真地学下去,直到现在,Player7后的很多新功能我几乎都没有用过,像Tween类,filters类等等。
FileReference类其实也有很长一段时间没引起我的兴趣,但是,看了Flash 8自带的Sample以后,发觉这东东蛮有用的,可以选择本地图片,然后显示在Flash里头。
不过,它的显示是通过上传,然后再下载来实现的,觉得很麻烦,看个本地图片也要经过网络(不过当初没有怪它,大概是要演示FileReference类的upload吧),决定把它改装一下,做个本地的图片浏览器。Flash 8能支持jpg,gif,png三类图片,能改出来觉得用途还是有滴。
然而,一切都让我失望了,搞了大半天,都不能把图片直接读出来,就是因为FileReference类无法获取文件的路径,只能得到文件名,想用loadMovie或者mcLoader类通过图片路径读取相应图片,还是没办法。可是,感觉只是差一点点啊。
虽然帮助文件没有提到如何获取文件路径,但是我仍不死心,总感觉是有的,于是,我写了下面的代码测试:
import flash.net.FileReference;
var fr:FileReference = new FileReference();
fr.browse();
var listener:Object=new Object();
fr.addListener(listener)
listener.onSelect = function(file:FileReference) {
for (var i in file) {
trace(i+":"+file[i]);
}
};
选好了一个文件以后,输出的结果
_listeners:[object Object]
creator:undefined
creationDate:Thu Feb 15 20:58:03 GMT+0800 2007
modificationDate:Thu Feb 15 20:58:04 GMT+0800 2007
size:3753620
type:.mp3
name:2007127171248.mp3
晕了,用for来枚举都得不到路径,看来这次是彻底绝望了。限制安全性也不用限制成这样吧,Macromedia?
而且,这也将意味着,代码中的file对象不能自己手动构造,必须通过FileReference的browse方法来构造。因为,仅通过输出的结果,是不可能得到你浏览的文件的,就是因为没了路径。
通过各大搜索引擎去寻找如何获取文件路径的答案,都是只有问的,没有回答的。
因为问这一问题的人不多,所以,这事情早搁浅了,一直没管它。
后来,朱高兄想做个可以播放本地音乐的播放器,是因为他看中了Flash 8的FileReference类。但是,当我道出了FileReference类不能获得文件路径的真相以后,他的这一想法就像我当初做图片浏览器的想法那样,给打消了。
最近又有人问到了此问题,看来,也是时候要研究下了。
http://bbs.blueidea.com/thread-2721771-1-1.html
要解决FileReference中的这一问题,至少目前来说,靠Flash是没有用的了,既然网页里头的文件域有完整路径,我们为何不去应用一下呢?
所以,解决此问题,用到的,主要还是Flash与js的通讯了,之前的教程都是用fscommand来弄,这次尝试用ExternalInterface来实现,所以,接下来会先介绍ExternalInterface类的用法(这个相信大多数人会了,说简单些),然后就是文件域中的一个相当于FileReference中browse的一个方法,以及类似于FileReference中onSelect的一个事件。
演示地址:
http://hbro.cincn.com/HBrO/course/fileField/fileField.html
进入实例讲解之前,先介绍上面所说的几点内容:
1 ExternalInterface类的使用
这里均以网页里Flash与js的通讯为例。首先,在Flash里头,ExternalInterface类是在Flash.net包里头,一般为方便以后调用该类时不输入此路径,as里会先添加
import flash.net.FileReference
添加了这一句以后,在使用该类时,就不需要重复输入flash.net了。
接着,要在Flash里头调用js的函数,可以使用call方法
call(methodName:String, [parameter1:Object])
为方便演示,我使用js一个内置的alert方法来进行测试。
新建个Flash文档,保存为ExternalInterface.fla,然后输入下面的代码:
import flash.net.FileReference;
ExternalInterface.call("alert",1);
发布一下,然后在IIS下测试你刚生成的网页,就会看到有个1的对话框出来了。就是说,Flash调用js的函数这一步已经实现。
然后,就是到js控制Flash了。js可以调用Flash里头的函数,这里,ExternalInterface类也起到重要的作用。
本文转自:http://www.5uflash.com/flashjiaocheng/Flashyuweb/1215.html
发表评论
-
精美全Flash个人网站的制作全程解析
2010-04-10 14:15 626原文件下载地址: http:/ ... -
asp+access+as3+flash留言本教程——flash篇
2010-04-10 14:15 634[1b] 需要源文件留下email [/1b] [1b]成业作 ... -
TOMCAT+JSP+ACCESS+FLASH连接数据库
2010-04-10 14:15 588很多新人问FLASH和数据库连接的方法,这里介绍一下,后台可 ... -
Flash全站的技术应用-Flash也能播放wmv,wma
2010-04-10 14:14 695前言 Flash能播放除flv,m ... -
flash中NetConnection与NetStream知识整理
2010-04-10 09:34 838NetConnection只有一个connect方法,NetS ... -
flv制作工具大全
2010-04-10 09:34 713Collected links to Flash Vid ... -
FLV播放器汇总
2010-04-10 09:34 692http://www.dengjie.com/weblog/c ... -
flash视频文件自动的在服务器端转换成FLV文件的FFMPEG的编译方法
2010-04-10 09:33 720在闪吧看别人的帖子看 ... -
flash视频文件自动的在服务器端转换成FLV文件的FFMPEG的编译方法
2010-04-10 09:33 732在闪吧看别人的帖子看 ... -
flash9/as3访问WebService的暂时替代方法
2010-04-09 12:31 1153在前面写了 flash9/as3访问WebService的的方 ... -
《as3中文帮助(PDF&CHM)》下载
2010-04-09 12:31 1421官方的下载地址(PDF格式): ActionScript 3. ... -
《as3中文帮助(PDF&CHM)》下载
2010-04-09 12:30 987官方的下载地址(PDF格式): ActionScript 3. ... -
AS3数据存取方式效率比较
2010-04-09 12:30 580通常我们存取数据有如下几种方式:Array, Object, ... -
AS3数据存取方式效率比较
2010-04-09 12:30 606通常我们存取数据有如下几种方式:Array, Object, ... -
一个AS3 socket解码设计的错误思路
2010-04-09 08:08 622调试游戏确实是一项磨人的工作。难怪很多业内人都喜欢说“好游戏是 ... -
一个AS3 socket解码设计的错误思路
2010-04-09 08:08 661调试游戏确实是一项磨人的工作。难怪很多业内人都喜欢说“好游戏是 ... -
SWF间的双向通信
2010-04-09 08:08 714演示文件源码下载: swfs_communication.r ... -
SWF间的双向通信
2010-04-09 08:07 633演示文件源码下载: swfs_communication.r ... -
Flash相册加载图片完毕等比缩放的类
2010-04-09 08:07 692每次做相册类的flash的 ... -
鸽子动态画法
2010-04-08 08:10 814禽类的画法:鸽子动态。来一起分析下鸽子的运动方式。[1b](未 ...
相关推荐
6. **安全与隐私**:由于涉及摄像头和音频访问,Flash应用需要遵循严格的隐私政策。开发者必须清楚地告知用户他们的摄像头和麦克风将被使用,并获得用户的明确许可。 7. **跨浏览器兼容性**:虽然现在许多现代...
用户选择文件后,Flash会获取文件列表,然后通过FileReference对象逐个上传。在上传过程中,我们可以添加自定义参数,如用户ID、文件类型等,以便在服务器端进行处理。 接下来,我们谈谈PHP端的实现。PHP是一种广泛...
在IT行业中,多文件上传是常见的功能需求,尤其是在网页应用中。"Flash+PHP多文件上传"是一种在早期网络环境中实现这一功能的常见方法。在那个时代,HTML5的File API尚未广泛支持,Flash作为浏览器插件,提供了丰富...
Flash应用程序会捕获用户的文件选择,并将文件数据发送到服务器。 1. **Flash文件上传组件**:在Flash中,我们可以使用`FileReference`类来实现文件选择和上传。用户点击Flash中的按钮后,`FileReference.browse()`...
在IT行业中,图片上传功能是网站和应用程序中常见的需求,特别是在社交网络、电子商务或内容管理系统等场景下。本文将深入探讨使用PHP和Flash技术实现图片上传的源代码,以及相关的关键知识点。 首先,PHP是一种...
7. **解压使用**:对于提供的"Thinkphp3.23 Flash头像上传解压即可使用.txt"文件,解压缩后,你可能会找到一个示例代码或者步骤指南。按照文本文件中的说明操作,可以快速理解和部署Flash头像上传功能。 通过以上...
在Flash中读取本地文本文件,可以使用File类的静态方法`File.applicationDirectory`或`File.documentsDirectory`来获取应用或文档目录。然后,创建一个File对象,指定要读取的TXT文件路径。例如: ```actionscript ...
- 在实际应用中,还需要考虑权限问题。默认情况下,Flash Player可能不允许应用程序访问用户的本地文件系统。因此,在尝试保存文件之前,应确保用户已授予适当的权限。 - 另外,`save`方法会弹出一个对话框让用户...
`output.txt`可能是服务器端处理上传后返回的结果,例如成功或失败的消息,或者是文件的URL,供Flash客户端获取和显示。 最后,`in-a-flash-documentation.pdf`很可能是一份详细的用户指南或开发文档,提供了关于...
Flex 文件上传技术是一种在Web应用中实现用户向服务器端上传文件的方法,通常涉及到前端的Flex技术与后端的Java服务进行交互。Flex是一款强大的富互联网应用程序(RIA)开发框架,由Adobe公司提供,用于创建动态、...
在Flash AS3编程中,文本查找和替换是一个常见的任务,特别是在处理用户交互和数据操作时。这个场景描述了如何利用AS3(ActionScript 3)来读取本地TXT文件,并在其中执行查找与替换操作。以下是对这个主题的详细...
而Flash作为一种流行的富互联网应用程序(RIA)技术,常用于实现用户友好的文件上传界面。 首先,理解Java Struts2文件上传的工作原理。Struts2提供了一套完善的文件上传支持,基于Commons FileUpload库。在Struts2...
### Flex中的文件上传与下载...尽管存在一些限制,如文件路径的安全访问问题,但在大多数应用场景下,这些功能已经足够满足需求。对于希望在Flex应用中加入文件上传下载功能的开发者来说,本文提供了一个很好的起点。
AS3(ActionScript 3)是Adobe Flash平台的核心编程语言,常用于创建交互式内容,如网页游戏和多媒体应用程序。 首先,让我们了解一下AS3中的图片上传功能。在Flash环境中,我们可以使用`FileReference`类来处理...
通过监听FileReference的“select”事件,我们可以获取到用户选择的文件列表。 接下来,我们需要编写ActionScript代码来读取和上传这些文件。每个FileReference对象都有upload()方法,可以用来向服务器发送...
在使用`FileReference`类进行文件上传时,需要注意的是,由于Flash Player的安全限制,无法直接获取到所选文件的完整路径信息。这意味着开发者只能获取文件的大小、创建日期等基本信息,而无法直接访问文件的具体...
在IT行业中,文件上传是常见的交互功能,尤其在Web应用中。...`Flex`是一种基于Adobe Flash Player运行时的开放源码框架,用于构建具有...这种技术广泛应用于各种Web应用,如图片分享网站、文档管理系统和多媒体内容平台。
3. **上传至服务器**:Flash的FileReference类支持文件上传,通过调用`upload()`方法,将处理后的图像数据发送到服务器。此时,需要提供服务器端的URL以及可能的POST参数。 4. **PHP后端处理**:在服务器端,我们...
为了与用户交互并获取保存路径,可以使用FileReference或Filesystem API。FileReference是Flash Player提供的,允许用户选择文件保存位置并触发保存对话框。在Adobe AIR中,可以使用更强大的File和FileStream类,...