5

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

どこから始めればいいのかわからないのですが、誰かが洞察やアプローチを提供できますか?

4

3 に答える 3

6

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

ファイルで、長時間実行するアクションにインターセプターをstruts.xml追加し、 2つの結果とを定義します。execAndWaitwaitsuccess

<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>

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

于 2012-12-29T13:24:08.643 に答える
1

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

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

于 2012-12-29T12:32:45.767 に答える
0

簡単な解決策:Struts2-Jqueryタグを使用する

そして、gif画像を使用して送信タグにインジケーターを定義します

例えば。

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

 <img id="imgId" src="images/indicator.gif" alt="Loading..."     
  style="display:none"/>
     `
于 2012-12-31T08:47:04.117 に答える