2012-12-29 7 views
5

私は現在、ファイル変換プログラムに取り組んでいますが、ファイルがアップロードされたら、それは通常、ファイルのサイズによっては時間がかかりますさまざまなファイル形式(PPT、PDF)これにファイルを変換します。ファイル変換がバックエンドで行われているので、ユーザーにファイル変換の進行状況を確認してもらいたい(進行状況バーなどの "52%ファイル"が変換されているなど)とにかく、現在の進行状況をユーザーに表示できますファイル変換(それはバックエンドで起こっている)ですか?私は(私が使用しているAPIが提供する数の())の状態を示すことができていたファイル変換サーバー側 - プログレスバー

中に私が開始する見当がつかない誰かがいくつかの洞察やアプローチを提供することができますか?

+0

http://www.sitepoint.com/html5-javascript-file-upload-progress-bar/ ** ** OK、それはアップロードのためだが、XHRリクエストは、関心のあなたのポイントです。それ以外の場合は、アップロードバーを表示することができます。アップロード後に、「ファイルを変換しています...待ちます。」のようなローディングバーをアニメートするだけです。 –

+0

http://tpeczek.blogspot.in/2010/07/のチュートリアルがあります。レポートサーバー側の操作.html –

+0

@roXon私はファイルアップロードの進行状況バーについては何も言いませんが、バックエンド(ファイル変換)上で実行されている特定のプロセスがあることを意味します。ユーザーに進捗状況を表示したい – user962206

答えて

6

Struts2を使用している場合はExecute and Wait Interceptorをご覧ください。バックグラウンドで実行されるあなたのタスクで新しいスレッドを作成しますが、ユーザーにいくつかの進捗状況を示すことができます。

struts.xmlファイルには、長時間実行されているアクションに対してexecAndWaitインターセプターが追加され、2つの結果waitsuccessが定義されています。

<action name="longRunningAction" class="..."> 
    <interceptor-ref name="defaultStack"/> 
    <interceptor-ref name="execAndWait"/> 
    <result name="wait">longRunningAction-wait.jsp</result> 
    <result name="success">longRunningAction-success.jsp</result> 
</action> 

このアクションは、JSPでAJAXまたは単純なページ更新を使用してポーリングする必要があります。

+0

は本当に必要ですか? – user962206

+0

Hmm ..はい。なぜ聞くのですか? –

+0

なぜそうですか? defaultStackを削除した場合、なぜ動作しませんか? – user962206

1

あなたは言っている:During file conversion I am only able to show the status(in numbers(provided by the API I am using))

この番号は何ですか?ファイルのどれくらいの割合が変換されていますか?そうであれば、jQuery UIライブラリをインポートするだけです。.progressbar()

+0

これはパーセンテージではなく、1から1000の範囲です.1000は完全な値です – user962206

+0

しかし、それは指数関数的に増加するか、または何らかの変換段階を示す乱数ですか? –

+0

それは指数関数的に乱数を増加させない – user962206

0

シンプルなソリューション: 使用Struts2の-jQueryのタグ

およびGIF画像

などを使用して提出するタグに指標を定義します。純粋なシンプルなJSで

`<form action="..."> 
    <s:file ..../> 
    <sj:submit indicator="imgId"> 
</form> 

<img id="imgId" src="images/indicator.gif" alt="Loading..."  
    style="display:none"/> 
    `