4

GWT fileUploader コンポーネントを使用してファイルをアップロードしたいのですが、

このようにしてみましたが、

FileUpload fileUpload = new FileUpload();
filepload.addChangeHandler(new new ChangeHandler() {
    @Override
    public void onChange(ChangeEvent event) {
         // here i submit the form, and a response is created to client side to display success message.
    } });
  • OK、これまでのところ、ファイルをアップロードでき、サーブレットから成功メッセージを出すことができます。
  • フォームパネルのonSubmitCompleateイベントで処理したのですが、
  • ありがとうございます。
  • データベースに保存する前に、アップロードされたファイルを表示する方法はありますか?
  • つまり、実際には、ファイルをアップロードするための複合コンポーネントと、ファイルの詳細を伝えるテキスト領域を提供する必要があります。
  • ユーザーがアップロードするファイルを選択すると、アップロードされたファイルを表示したい(正しいファイルがアップロードされていることを確認できるようにするため)
  • フォーム全体が送信されると、データベースに保存されます。
4

3 に答える 3

4

ユーザーが GWT Fileupload ウィジェットを使用してファイルをアップロードできるようにし、サーバー側で処理したくないと推測しています。クライアント側でバイト配列表現が必要です。

File Processing Browser -> File Upload Dialog -> Select File -> Submit Form with File to server -> Process File on Server -> 処理されたファイルを応答としてクライアントに送り返す ( string )。

上記の手順を避けてブラウザでファイルを処理したい場合、現在の JavaScript でそれを行う方法はありません。Flash、Applet、Silverlight、Activex などの並列テクノロジが役立つ場合があります。将来追求される正しいアプローチは、HTML5 ファイル apiを使用することです。

フラッシュ/アプレットなどのレガシー テクノロジーを使用したくない場合は、FileReader の HTML5 API を検討できます。ただし、トレードオフは、API がブラウザー全体でサポートされているかどうかを確認する必要があることです。

HTML5 ファイルリーダー

FileReader には、ファイルを非同期的に読み取るための 4 つのオプションが含まれています。

FileReader.readAsBinaryString(Blob|File) - The result property will contain the file/blob's data as a binary string.
FileReader.readAsText(Blob|File, opt_encoding) - The result property will contain the file/blob's data as a text string. 
FileReader.readAsDataURL(Blob|File) - The result property will contain the file/blob's data encoded as a data URL.
FileReader.readAsArrayBuffer(Blob|File) - The result property will contain the file/blob's data as an ArrayBuffer object.

これらの GWT ラッパーの例 - https://github.com/bradrydzewski/gwt-filesystem

参照 -

于 2012-12-28T04:32:38.293 に答える
1
  1. GWTFileUploadウィジェットからユーザーのデバイス上のファイルの絶対パスを取得することはできません。

  2. ファイルをアップロードしてバイト配列として保存するために、ファイルの絶対パスは必要ありません。

GWTのドキュメントには、ファイルのアップロードウィジェットの使用方法の例が記載されています。

http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/user/client/ui/FileUpload.html

于 2012-12-28T09:41:00.443 に答える