none
大家好,关于 UploadFileCompletedEventHandler 回调函数的问题。 RRS feed

  • 问题

  • 我通过 WEBCLIENT 的 UploadFileAsync 方法,上传一个文件到服务器.我想知道他是否上传成功,我看MSDN如下:

    http://msdn.microsoft.com/en-us/library/system.net.uploadfilecompletedeventhandler.aspx

     

    需要一个 回调函数事件 UploadFileCompletedEventHandler  如:

    void UploadFileCallback( Object^ /*sender*/, UploadFileCompletedEventArgs^ e )
    {
      System::Threading::AutoResetEvent^ waiter = dynamic_cast<System::Threading::AutoResetEvent^>(e->UserState);
      ;
      try
      {
       String^ reply = System::Text::Encoding::UTF8->GetString( e->Result );
       Console::WriteLine( reply );
      }
      finally
      {
    
       // If this thread throws an exception, make sure that
       // you let the main application thread resume.
       waiter->Set();
      }
    
    }
    
    

    我就想问下,要得到文件是否上传成功 是否需要服务器返回一个值,还是我们自己判断? 因为我看到 e->Result 的解释是 获取通过调用 UploadFileAsync 方法启动的数据上载操作的服务器回复。不知道我说的对不对?还是请教下大家 怎么判断是否上传成功!


    …|▌'寔堅蔃の/「≯還寔╪.逞蔃﹖
    2010年8月29日 8:53

答案

  • 你好:

    就我所知,该函数就是上传已经成功的情况下才触发的事件。所以没有必要进行返回值以确认上传成功。

    “The following method is called when the upload completes.”

    希望对你有所帮助。

    • 已标记为答案 dowflyon 2010年9月4日 16:59
    2010年8月31日 2:40

全部回复

  • 你好:

    就我所知,该函数就是上传已经成功的情况下才触发的事件。所以没有必要进行返回值以确认上传成功。

    “The following method is called when the upload completes.”

    希望对你有所帮助。

    • 已标记为答案 dowflyon 2010年9月4日 16:59
    2010年8月31日 2:40
  • 你好

     

       我上传成功后照样没有引起这个触发。。到后来逼迫 用 阻塞模式。。。


    …|▌'寔堅蔃の/「≯還寔╪.逞蔃﹖
    2010年9月2日 8:32