2009-07-28 16 views
0

動画(* .flv形式)をアップロードしているときに、私のアプリケーションにダイナミックプログレスバーを表示したいと思います。私は2時間以上Web上を検索しましたが、このプロセスを通して私を導くチュートリアルは見つかりません。Zend_Progressbar + JQuery +ビデオをアップロードする

私がこれまでしている:ビデオ

  • jQueryライブラリをアップロード

    • スクリプトはセクション

    に含ましかし、次に何をすべきか?ここで私が使用してビデオをアップロードするためのコントローラのアクションは次のとおりです。

    public function uploadPublicVideoAction() 
    { 
        $request = $this->getRequest(); 
        $media = $this->_getTable('Media'); 
    
        $form = $this->_getForm('UploadPublicVideo', 
              $this->_helper->url('upload-public-video')); 
        // if POST data has been submitted 
        if ($request->isPost()) { 
         // if the UploadPublicVideo form has been submitted and the submitted data is valid 
         if (isset($_POST['upload_public_video']) && $form->isValid($_POST)) { 
    
          $data = $form->getValues(); 
          $data['user_id'] = $this->view->identity->id; 
    
          $ext = end(explode('.', $form->video->getFileName())); 
    
          $dbTrans = false; 
    
          try { 
    
           $db = $this->_getDb(); 
           $dbTrans = $db->beginTransaction(); 
    
           $data['type'] = 'video'; 
           $data['status'] = 'public'; 
           $paths = $media->add($data, $ext); 
    
           if (file_exists($paths[0])) { 
            unlink($paths[0]); 
           } 
           if (file_exists($paths[1])) { 
            unlink($paths[1]); 
           } 
    
           // add filter for renaming the uploaded photo 
           $form->video->addFilter('Rename', 
                 array('target' => $paths[0], 
                   'overwrite' => true)); 
    
           // upload the video 
           $form->video->receive(); 
    
           // create a thumbnail 
           //$this->_helper->FlvThumbnail($path[0], $path[1]); 
    
           $db->commit(); 
    
           $form->reset(); 
    
           $this->view->success = 'Public video successfully uploaded'; 
    
          } catch (Exception $e) { 
           if (true === $dbTrans) { 
            $db->rollBack(); 
           } 
           $this->view->error = $e->getMessage(); 
          } 
    
         } 
        } 
    
        $this->view->headTitle('Upload Public Video'); 
        $this->view->form = $form; 
    } 
    

    誰も私に動的なアップロードのプログレスバーを達成するために一緒にZend_ProgressBarのとjQueryを使用するための簡単な方法を示すことができますか?

  • +0

    ソリューションを投稿してもよろしいですか?私は同じことを達成しようとしています。 – Andrew

    答えて

    1

    希望の効果を得るには、長い(彗星)または短いポーリング(ajax)のいずれかを行うことができます。前者では、iFrameでリクエストを行い、JSが書き込まれるようにすることをお勧めします。後者は次のようになります。

    関連する問題