flex利用webservice上传照片

来源:互联网 发布:java基础教程 编辑:程序博客网 时间:2024/05/16 10:50

WebService端代码

        /// <summary>          /// 上传文件到远程服务器          /// </summary>          /// <param name="fileBytes">文件流</param>          /// <param name="fileName">文件名</param>          /// <returns>字符串</returns>           [WebMethod(Description = "上传文件到远程服务器.")]        public string UploadFile(byte[] fileBytes, string fileName)        {            try            {                MemoryStream memoryStream = new MemoryStream(fileBytes); //1.定义并实例化一个内存流,以存放提交上来的字节数组。                  FileStream fileUpload = new FileStream(Server.MapPath(".") + "\\" + fileName, FileMode.Create); ///2.定义实际文件对象,保存上载的文件。                  memoryStream.WriteTo(fileUpload); ///3.把内存流里的数据写入物理文件                  memoryStream.Close();                fileUpload.Close();                fileUpload = null;                memoryStream = null;                return "文件已经上传成功";            }            catch (Exception ex)            {                return ex.Message;            }        } 


Flex客户端代码

<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"    xmlns:s="library://ns.adobe.com/flex/spark"    xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="application1_creationCompleteHandler(event)"><fx:Script><![CDATA[import mx.controls.Alert;import mx.events.FlexEvent;import mx.graphics.codec.JPEGEncoder;import mx.rpc.events.FaultEvent;import mx.rpc.events.ResultEvent;protected function application1_creationCompleteHandler(event:FlexEvent):void{var width :int = imgID.width;      var height :int = imgID.height;      var bitmapData:BitmapData =new BitmapData(width,height);      bitmapData.draw(imgID);      var byteArr:ByteArray = bitmapData.getPixels(new Rectangle(0,0,width,height));     var byteArr123:ByteArray  =new JPEGEncoder().encodeByteArray(byteArr,width,height);  webService.UploadFile(byteArr123,"123.png");}protected function webService_faultHandler(event:FaultEvent):void{Alert.show(event.fault.toString());}protected function webService_successHandler(event:ResultEvent):void{Alert.show(event.result.toString());}]]></fx:Script><fx:Declarations><!-- 将非可视元素(例如服务、值对象)放在此处 --><s:WebService id="webService" wsdl="http://10.19.1.48/upImg/Service1.asmx?WSDL" fault="webService_faultHandler(event)">  <s:operation name="UploadFile" result="webService_successHandler(event)"></s:operation>  </s:WebService>  </fx:Declarations><mx:Image id="imgID" x="186" y="103" width="583" height="397" source="file:/G:/360云盘/照片/2013Beijing MapOfSubway.jpg"/></s:Application>










0 0