Flex Fileref ...没有收到返回结果

时间:2010-02-05 19:52:05

标签: php flex

我正在尝试使用FileRef和php脚本上传文件。文件上传,它肯定会返回一个测试字符串(我可以通过Web调试器看到它​​)..但我无法在我的flex应用程序中获取该字符串。我正在使用DataEvent侦听器和COMPLETE侦听器。仍然没有结果。

我在这里做错了什么?

fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onFileResponse);
fileRef.addEventListener(Event.COMPLETE, fileRef_complete);

private function fileRef_complete(evt:Event):void{

     trace("COMPLETE");
     trace(evt.target.data);

    }

private function onFileResponse(event:DataEvent)
    {
     message.text = "HELLO";
     trace("UPLOAD COMPLETE = " + event.data);


    }

2 个答案:

答案 0 :(得分:0)

您的问题是事件未被触发,或者事件被触发时data字段为空?

如果是前者,服务器是否返回HTTP代码200?这是我在FileReference文档中看到的唯一直接规范。

如果是后者,我认为不希望在upload()调用中填充数据字段:

  

数据:ByteArray [只读]​​

     

表示的ByteArray对象   来自加载文件的数据   成功调用load()方法。


编辑:

FileReference在呼叫完成之前是否超出范围 - 这将取消Flash端的事务(尽管呼叫可能仍在网络端完成)。

您是如何致电FileReference.upload()的?如果你的网络调试器显示成功,我认为这不是问题,但它可能是有意义的。

答案 1 :(得分:0)

这就是我调用文件上传的方式:

fileRef.upload(urlReq, "Filedata", false);

它不应该超出范围,它在同一个mxml文档中,但也许我错过了一些东西。