Flex + .Net从本地选择一个图片上传到服务器

时间:2022-12-12 16:09:12
<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&period;NET MVC之文件上传【一】(八) ASP&period;NET MVC 图片上传到服务器

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

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

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

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

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

  6. VUE2&period;0&plus;VUE-Router做一个图片上传预览的组件

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

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

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

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

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

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

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

随机推荐

  1. Javascript 代理模式模拟一个文件同步功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 关于c语言char类型输入输出的一个bug

    题目 输入一个整数n,接下来n行每一行输入两个用一个空格分隔的字符. 对每一对字符,比较其大小关系并输出比较的结果:1.0.-1. 解决的代码如下: #include<stdio.h> i ...

  3. C&plus;&plus;中定义比较函数的三种方法

    原文地址:http://fusharblog.com/3-ways-to-define-comparison-functions-in-cpp/ C++编程优与Pascal的原因之一是C++中存在ST ...

  4. iOS NSData

    NSData全部API学习. 学习NSData,在网上找资料竟然都是拷贝的纯代码,没人去解释.在这种网上没资料的情况下,整理这个API文件好难,好艰辛.在这贡献给大家了,么么哒~示例程序用红色标注. ...

  5. hdoj 1872 稳定排序

    稳定排序 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  6. Setting Up the ADT Bundle

    Setting Up the ADT Bundle The ADT Bundle provides everything you need to start developing apps, incl ...

  7. css3之background

    background background: (1)url(image1.png) right bottom, (2)url(image2.png) center, (3)url(image3.png ...

  8. MySql5&period;6性能优化

    目标 了解什么是优化 掌握优化查询的方法 掌握优化数据库结构的方法 掌握优化MySQL服务器的方法 什么是优化? 合理安排资源.调整系统参数使MySQL运行更快.更节省资源. 优化是多方面的,包括查询 ...

  9. Spring Security教程系列(一)基础篇-2

    第 4 章 自定义登陆页面 Spring Security虽然默认提供了一个登陆页面,但是这个页面实在太简陋了,只有在快速演示时才有可能它做系统的登陆页面,实际开发时无论是从美观还是实用性角度考虑,我 ...

  10. linux利用命令重置大量密码

     yum -y install expectmkpasswd -l 10 -v was | grep 'is *'  >> 123.txtmkpasswd -l 10 -v logv |  ...