flex利用webservice上传照片

WebService端代码

        /// <summary>  
        /// 上传文件到远程server  
        /// </summary>  
        /// <param name="fileBytes">文件流</param>  
        /// <param name="fileName">文件名称</param>  
        /// <returns>字符串</returns>   
        [WebMethod(Description = "上传文件到远程server.")]
        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;
            }
        } 


Flexclient代码

<?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>










posted @ 2014-10-05 18:22  blfshiye  阅读(207)  评论(0编辑  收藏  举报