<mx:TextInput id="TxtFileName" editable="false" width="200"/>
<mx:Image id="btnBrowser" toolTip="Browser" buttonMode="true" click="fileBrowser(event)"
source="@Embed(source='../assets/icon/icon_browser.png')"/>
<mx:Button id="btnUpload" label="Upload" buttonMode="true" click="addAttachment(event)" skin="@Embed(source='../assets/skin/btn_skin.gif')" width="80" height="23" />

新建一个 textiput存储显示文件名和image来做button选取本地图片文件。

触发的事件代码

private var curfile:FileReference=new FileReference(); 
private var browerFlag:Boolean=false; private function fileBrowser(event:Event):void
{
var imageTypes:FileFilter = new FileFilter("Images(*.jpg,*.jpeg,*.png,*.gif,*.bmp,*.pdf,*.tif)", "*.jpg;*.jpeg;*.png;*.gif;*.bmp;;*.pdf;*.tif");
curfile.browse([imageTypes]);
}

程序initialize的时候为curfile加监听事件initialize="init()

private function init():void
{
  curfile.addEventListener(Event.SELECT,addInTextinput);
}
private function addInTextinput(event:Event):void
{
  TxtFileName.text = curfile.name;
}

Button Upload的处理事件

            private function addAttachment(event:Event):void
{
if(!browerFlag)
{
return;
}
if(!curfile.type)
{
browerFlag=false;
TxtFileName.text="";
Alert.show(CONSTANT.VoidFileType,CONSTANT.PROJNAME,Alert.OK);
return;
}
var type:String=curfile.type.toLowerCase();
if(type&&type!='.jpg'&&type!='.png'&&type!='.bmp'&&type!='.gif'&&type!='.pdf'&&type!='.tif')
{
browerFlag=false;
TxtFileName.text="";
Alert.show(CONSTANT.VoidFileType,CONSTANT.PROJNAME,Alert.OK);
return;
}
/* if(curfile.size>4194304) */
if(curfile.size>10485760)
{
browerFlag=false;
TxtFileName.text="";
Alert.show(CONSTANT.AttachmentMax,CONSTANT.PROJNAME,Alert.OK);
return;
} //---upload handler--------------
var url:String = "UploadFileHandler.aspx?TempFileID="+SysParm.expInfo.ExpenseGUID+"&StaffID="+SysParm.curStaffInfo.StaffID;
var reqUrl:URLRequest = new URLRequest(url); curfile.upload(reqUrl); }

怎加两个上传结束以及捕捉错误的事件监听。

            private function init():void
{
curfile.addEventListener(Event.SELECT,addInTextinput);
curfile.addEventListener(Event.COMPLETE,uploadComplete);
curfile.addEventListener(IOErrorEvent.IO_ERROR,uploadError);
}
            private function uploadComplete(event:Event):void
{
browerFlag=false;
ExpenseFunction.removeBusy();
Alert.show(CONSTANT.UploadSuccess,CONSTANT.PROJNAME,Alert.OK,null,refreshAttachmentHandler);
}
private function uploadError(ioError:IOErrorEvent):void
{
browerFlag=false;
TxtFileName.text="";
Alert.show(CONSTANT.UploadFail,CONSTANT.PROJNAME);
} private function refreshAttachmentHandler(event:CloseEvent):void
{
TxtFileName.text="";
browerFlag=false; }

Flex + .Net从本地选择一个图片上传到服务器的更多相关文章

  1. 从系统相册中选择GIF图片上传到服务器

    -(void)assetPickerController:(ZYQAssetPickerController *)picker didFinishPickingAssets:(NSArray *)as ...

  2. 我需要在Web上完成一个图片上传的功能

    我需要在Web上完成一个图片上传的功能. 这个页面需要能从手机中选择图片上传. 首先,这个页面是从微信上面触发的,所以修改了微信的的入口地址,增加了身份识别号作为传参. 跳转到页面的时候,页面先检查身 ...

  3. MVC图片上传、浏览、删除 ASP.NET MVC之文件上传【一】(八) ASP.NET MVC 图片上传到服务器

    MVC图片上传.浏览.删除   1.存储配置信息 在web.config中,添加配置信息节点 <appSettings> <add key="UploadPath" ...

  4. 使用canvas给图片添加水印, canvas转换base64,,canvas,图片,base64等转换成二进制文档流的方法,并将合成的图片上传到服务器,

    一,前端合成带水印的图片 一般来说,生成带水印的图片由后端生成,但不乏有时候需要前端来处理.当然,前端处理图片一般不建议,一方面js的处理图片的方法不全,二是有些老版本的浏览器对canvas的支持度不 ...

  5. php form 图片上传至服务器上

    本文章也是写给自己看的,因为写的很简洁,连判断都没有,只是直接实现了能上传的功能. 前台: <form action="upload.php" method="PO ...

  6. VUE2.0+VUE-Router做一个图片上传预览的组件

    之前发了一篇关于自己看待前端组件化的文章,但是由于学习和实践的业务逻辑差异,所以自己练习的一些demo逻辑比较简单,打算用vue重构现在公司做的项目,所以在一些小的功能页面上使用vue来做的,现在写的 ...

  7. Express+MySQL实现图片上传到服务器并把路径保存到数据库中

    demo准备:mysql5.7.20 express4.0 处理图片文件的中间件Multer 先搭建服务器并展示html页面 const express = require("express ...

  8. 根目录97 <input file>标签,把图片上传到服务器(跟增删改查一起实现)

    首先来个简单的html页面: enctype="multipart/form-data" encoding="multipart/form-data" acti ...

  9. ckeditor如何能实现直接粘贴把图片上传到服务器中?

    在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper. 通过知乎提供的思路找到粘贴的原理,通过TheViper找 ...

随机推荐

  1. JMeter一次简单的接口测试(转载)

    转载自 http://www.cnblogs.com/yangxia-test 本次接口测试:根据ws查询所有商品的具体的信息.检查商品是否返回成功. 1.  准备测试数据 查询数据库中产品表已上架商 ...

  2. LocalDateTime TypeMismatch

    @DateTimeFormat(pattern = "yyyy-MM-dd")@JsonFormat(pattern = "yyyy-MM-dd", timez ...

  3. Delphi: TLabel设置EllipsisPosition属性用...显示过长文本时,以Hint显示其全文本

    仍然是处理多语言中碰到问题. Delphi自2006版以后,TLabel有了EllipsisPosition属性,当长文本超过其大小时,显示以...,如下图: 这样虽然解决显示问题,但很显然,不知道. ...

  4. 【网络编程三】网络通信之多进程(线程)实现TCP通信(一)

    [多进程] [多线程] /************************************************************************* > File sum ...

  5. echarts折线图Demo

    echarts链接:http://echarts.baidu.com/examples/editor.html?c=line-stack 黑底代码:http://gallery.echartsjs.c ...

  6. 水晶报表一页变两页,server2008添加XPS虚拟打印机

    水晶报表,程序开发的时候是一页,部署到服务器上后变为两页. 经过这几天研究是服务器上水晶报表的打印机设置不对 本地水晶报表的打印机设置的是 Microsoft XPS Document Writer ...

  7. ScrollView定时器复用

    起始偏移量设置为一个宽度 [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(refreshPic) us ...

  8. volley的post请求

    //volley发送post请 2 private void volleypost() { 3 String url = "http://apis.juhe.cn/idcard/index? ...

  9. golang 简单的实现内 网 穿 透,用户访问本地服务。

    一.功能描述: 客户端通过访问外网服务器上指定端口,间接访问自已本地的内网服务. 二.原理图如下: 三.实现代码如下: server.go代码: package main; import ( &quo ...

  10. c语言练习题:求1-1/2+1/3-1/4+... -1/100的值

    /******************************************* 求1-1/2+1/3-1/4+... -1/100的值 *************************** ...