Actionscript 3 如何使用Filereference在Flex4中上载图像?

Actionscript 3 如何使用Filereference在Flex4中上载图像?,actionscript-3,flex4,filereference,Actionscript 3,Flex4,Filereference,我正在尝试在Flex4中上传图像,但还没有成功。谁能帮忙 我的代码: private var fileref:FileReference; protected function application1_creationCompleteHandler(event:FlexEvent):void { fileref = new FileReference();

我正在尝试在Flex4中上传图像,但还没有成功。谁能帮忙

我的代码:

  private var fileref:FileReference; 

                protected function application1_creationCompleteHandler(event:FlexEvent):void
                {
                    fileref = new FileReference(); 
                }


                protected function button1_clickHandler(event:MouseEvent):void
                {
                    fileref.browse(); 
                    fileref.addEventListener(Event.SELECT, fileSelect); 
                }

                private function fileSelect(e:Event):void {
                    try {
                    var data:ByteArray = e.target as ByteArray; 
                    fileref.save(data, "pic1.jpg");             
                    }
                    catch(err:Error) {
                        Alert.show("Error: " + err.message); 
                    }
                }
编辑:

这真的很简单:

private function fileComplete(e:Event):void {
                if(fileref.data != null) {
                image1.data = fileref.data; 
                }


            }
我做了第二个按钮,应该保存图像,它工作正常,但我得到了对话框 起来,真的有必要吗?如何防止它并将其显式地放在服务器光盘上? 另一种方法(我使用.NET作为后端)获取bytearray映像并通过.NET Web服务发送,然后让C#代码保存映像。也许这是一个更好的选择。ActionScript3可能对它的功能有一些限制,或者我真的没有得到通知吗

protected function button2_clickHandler(event:MouseEvent):void
            {
                fileref = new FileReference(); 
                var data:ByteArray = image1.data as ByteArray; 
                if(data != null) {
                    fileref.save(data); 
                }
                else {
                    Alert.show("Picture is null!");                     
                }

            }

当我采用Webservice方法并将映像(=bytearray)存储在SqlServer中时,这种方法工作得很好

要捕获图像并上传,您可能需要查看
imagesnashot

它将图像编码为JPEG或PNG格式。保存bytearray将为您提供更大的灵活性,并将存储在服务器中的数据与客户端的实现分离。

您能澄清这个问题吗?您想让flex客户端将文件上载到服务器,还是想将客户端生成的映像保存到本地磁盘?我想将上载的映像保存到服务器的磁盘上。