2012-01-14 22 views
2

問題があります。私は、jquery &のメソッド+ PHPを使って、自分のサーバーに画像をアップロードしようとしています。アップロードの進行状況を表示するには(jquery + post + php)?

$.post("http://www.xyz.com/upload.php", { image: ImageObject}, function(data) { 
    //code      
}); 

は私がテキストで、アップロードの現在の進行状況を(自動更新)を表示したいと思い、このような何か:以下のコードの ワンピース

<div>Current progress: <div id="progress">[dynamic number]</div> 

私はそれを行うことができますどのように任意のアイデア?私はフラッシュのみのPHP/jqueryを使用したくない。

+0

唯一の方法は、サーバー側のコードを使用して進捗状況をxミリ秒毎に確認することです。ところで..それは.postでも働くの? jqueryのajaxメソッドでイメージを送信できるとは思わなかった。 –

+0

はい、投稿は正常に動作します(base64)。問題は、私はアップロードの現在の進捗状況を取得する方法がわからないことです:( – Jakub

答えて

1

Webページの外の顧客情報へのアクセス何を持っていませんが、あなたはを行うクライアント側のJavaScriptは、いくつかのオプションを持っているので、残念ながら、あなただけではjQueryの経由でネイティブにこれを行うことはできません。

  1. には、Flashを使用してくださいthis oneのようにクライアントにアクセスできるJavaプラグインです。
  2. サーバーをポーリングするシステムを使用して、現在のファイルの進行状況を要求します。私はPHPにはあまり慣れていませんが、.NETでは、アップロードされたファイルを受け取るクラスは、これまでにアップロードされたバイト数を教えてくれます。クライアント側のタイマーは、ajaxを介して一定間隔(たとえば1秒)で情報を要求し、返された情報を使用してプログレスバーを操作するように設定します。
  3. HTML5ウェブソケットを使用してをプッシュアップロードの進行状況をサーバーからクライアント にアップロードします。それは非常にきちんとしたオプションですが、実装するのが難しく、幅広く楽しむことができないので、少なくとも が好きです。 ブラウザサポートはまだありません。

Good Luck!

関連する問題