每天学一点flash(67) 上传图片
今天换个口味,制作一下上传图片,功能个人希望尽量简单化,方便理解:Flash cs4 对FileReference 类增加几项内容
如data 属性能够获取到一个data : ByteArray 这个值,
Save 和Load 的方法实现上传和保存图片。
有了这两个功能后,我们可以实现上传图片的目的了,配合Loader 加载ByteArray 这样就能实现图片结合。不过有一些图片相册会涉及到等比缩放的问题,这个功能可以添加上去。会更加完善。
图片过滤:用于帅选图片的类型,采用FileFilter类就能实现图片过滤。
imagesFilter:FileFilter = new FileFilter("Images", "*.jpg;*.gif;*.png");//图片过滤
下面是代码清单:可以实现一张图片上传到flash player 当中,但是没有实现和服务器交互的过程。因此只是算半成品,可以自行完善。
package
{
//要实现上传一张图片的功能
import flash.display.Sprite;
import flash.events.*;
import flash.net.*;
import flash.display.SimpleButton;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Loader;
public class Main extends Sprite
{
private var file:FileReference;
private var loader:Loader;
private var imagesFilter:FileFilter = new FileFilter("Images", "*.jpg;*.gif;*.png");//图片过滤
public function Main()
{
Btn_add.addEventListener(MouseEvent.CLICK,onClick);//按钮添加
}
private function onClick(event:MouseEvent):void
{
upLoadImage();
}
//上传图片
private function upLoadImage():void
{
file=new FileReference();
file.addEventListener(Event.SELECT,selectHandler);
file.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
file.browse([imagesFilter]);
}
private function ioErrorHandler(event:IOErrorEvent):void
{
throw new Error("上传失败");
}
private function selectHandler(event:Event):void
{
file.addEventListener(Event.COMPLETE,loadcompleteHandler);//加载完毕
file.load();
}
private function loadcompleteHandler(event:Event):void
{
loader=new Loader();//进行加载
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,imgLoadComplete);//监测图
相关文档:
Actio中传递参数
request.setAttribute("userName",fbName);
request.setAttribute("passWord",pwd);
request.setAttribute("CDNUrl",CDNUrl);
-------------------------------------------------------------------
AC_FL_RunContent(
'codebase', 'http://download.macromed ......
在Google 、Mozilla 、Apple 等组织的努力下,HTML5 标准已经从草案走向实现。目前几个主流浏览器的最新版本均已或多或少支持HTML5的新功能,即使是过时的浏览器也可以通过Javascript和插件来模拟相应的效果。
在开发RIA(富互联网应用)的时候,是选择占有率、兼容性、开发效率有限的Flash、SilverLight、Gears、JavaFX等 ......
在之前制作的版本,由于没有引入缓冲的效果,看起来效果并不好,这一次修改一下,把之前的改造一下。有了缓冲的帮助,效果完善了很多
但是还是有内存的一些问题,让人觉得不爽。
改进办法,对每一张图片加入Event。EnterFrame 事件,每一帧刷新,这样的好处使动画变得连贯,但是不好的地方会导致内存使用过多
使 ......
使用flashback 恢复被delete的数据
delete from tname t where t.type='5';
commit;
select * from tname; --4 rows selected
select sysdate from dual; -- 确定一个删除之前的时间点
flashback table tname to timestamp to_timestamp('2009-12-20 15:00:00','yyyy-mm-dd hh24:mi:ss');
--row movement is not ena ......
这里用了两种方法,getURL(”javascript:函数名”)和ExternalInterface,ExternalInterface更稳定一些。
AS代码:
on (release) {
getURL(”javascript:say(’我是Flash中的文字,用getURL方法’)”);
}
或
on (release) {
import flash.external.ExternalInterface;
Externa ......