flex中的文件上传

时间:2009-11-19 05:03:12

标签: flex

    private var fileRef:FileReference

    private function doCreationComplete():void
    {
        fileRef= new FileReference();           
        fileRef.addEventListener(Event.COMPLETE, completeHandler);
        fileRef.addEventListener(ProgressEvent.PROGRESS, fileRef_progress);
        fileRef.addEventListener(Event.SELECT, doSelect );
    }
    public function doBrowse( event:Event ):void
    {   
        try
        {
             fileRef.browse();
        }
        catch (error:Error)
        {
            trace("Unable to browse for files.");
        }           
    }       
    public function doSelect( event:Event ):void
    {
        txtPhoto.text = fileRef.name;
    }
    public function doSubmit( event:Event ):void
    { 
      var request:URLRequest = new URLRequest( "http://localhost:8080/JustSms/com/contacts/serviceImpl/CSVReader" );

      var vars:URLVariables = new URLVariables();

      vars.person = txtPerson.text;

      request.data = vars;

      fileRef.upload( request );
    }
    function completeHandler(event:Event):void
    {
        trace("uploaded");
    }

    private function fileRef_progress(evt:ProgressEvent):void 
    {
        progressBar.visible = true;
    }
  

错误#2044:未处理的IOErrorEvent:。 text =错误#2038:文件I / O错误。       在uploadcontacts / doCreationComplete()[D:\ Flexspace \ SMS \ src \ uploadcontacts.mxml:17]       at uploadcontacts / ___ TitleWindow1_creationComplete()[D:\ Flexspace \ SMS \ src \ uploadcontacts.mxml:3]       at flash.events::EventDispatcher/dispatchEventFunction()

这是什么错误?我怎么能处理这个...并且这是对Requet Servltet的正确方法吗?请帮助我..

1 个答案:

答案 0 :(得分:0)

下载Fiddler或Firebug之类的内容,并告诉我们HTTP流量是什么。

您还应该向FileReference对象添加错误事件侦听器,以便在错误发生时捕获它们。 (并且它们可能由于您控制之外的多种原因而发生......)。所有Flex documents都显示了要捕获哪些错误的示例。唯一的问题是,有时一个请求会出现两个错误。例如,根据我的经验,如果我收到HTTP_STATUS错误,我也会得到一个IO_ERROR。对我来说似乎很愚蠢,但也许Flex / Adob​​e有他们的理由。