【问题标题】:flex upload file component - problems with filereferenceflex 上传文件组件 - 文件引用问题
【发布时间】:2010-09-02 04:41:00
【问题描述】:

以下代码用于我命名为 FileUpload.mxml 的组件中,该组件用于 flex 应用程序的两个三个不同部分。

private var uploadURL:URLRequest = new URLRequest;
private var file:FileReference = new FileReference;
private var media:MediaFacade;

public function browse():void
{
        var uUrl:String=""; // force
        uploadURL=new URLRequest();

        file=new FileReference();
        configureListeners();

        file.browse(getTypes());
}

private function configureListeners():void
{
    file.addEventListener(Event.CANCEL, cancelHandler);
            ...
    if (!Application.application.hasEventListener("uploadFileEvent")) {
        Application.application.addEventListener("uploadFileEvent", uploadFile);
    }
}

在第一个实例中使用时,它可以正常工作,但是在不同部分中使用时,它会从下面的代码中得到以下错误:

错误 #2037:函数调用顺序不正确,或者之前的调用不成功。

    private function doUploadFile():void
    {
        try
        {
            file.upload(uploadURL);
        }
        catch (e:Error) {
            trace(e.message);
        }
    }

每次都遵循相同的顺序,即 file=new FileReference;配置文件监听器(文件);文件.浏览(); file.upload(uploadURL) 但仅适用于正在创建的组件的第一个实例。

任何想法都将不胜感激。

提前致谢。

安格斯。

【问题讨论】:

    标签: apache-flex filereference


    【解决方案1】:

    browse 方法只能从“用户交互”事件中直接调用,例如 CLICK 事件。如果将其包装在函数或类中,则会发生该错误。

    【讨论】:

    • 据我所知:
    【解决方案2】:

    我是 Flex 的菜鸟,但根据我的阅读:

    尝试在 .browse() 之前调用 .cancel() 以确保没有事件发生冲突。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-28
      • 2010-10-17
      相关资源
      最近更新 更多