2016-06-13 10 views
0

マルチパートファイルのアップロードにnetty 4を使用していますが、アップロードファイル(.jpg/.pdf/.etc。)とともにjsaon本体を送信する方法がわかりませんjson payload nettyを使用したファイルアップロード

netty 4とJavaを使用してこの機能を実現するために手伝ってください。 あなたのご協力をよろしくお願い申し上げます。

+0

UID uniqueFileId =新しいUID(); FileUpload fileUpload =(FileUpload)data;文字列fileName = fileUpload.getFilename();文字列filePath = fileUpload.getFilename(); String name = fileUpload.getFilename(); try(FileOutputStream out =新しいFileOutputStream(fileUploadPath + fileName)){out.write(fileUpload.get()); –

答えて

0

問題は、JSONがファイルアップロードをあまりうまくサポートしていないため、まずファイル&のメタデータをどのようにエンコードするかを決める必要があるということです。 JSONの代わりにあなたのファイルを送信する

  1. 使用形態のエンコード:

    は、基本的には4つの選択肢があります。これにより、ファイルアップロードのサポートが大幅に向上します。

  2. Base64でjsonでファイルをエンコードします。これにより、ファイルサイズが約33%増加します。

  3. マルチパート/フォームデータPOSTの最初のファイルを送信し、JSONデータを送信するためにIDを指定する戻り値を使用することは、異なる要求

  4. 第JSONデータを送信し、URLを返すありますファイルをアップロードする。

オプション2を使用することをお勧めします。これは、メモリ内のファイルも操作する必要があるためです。 multipart/form-dataを使用すると、nettyはファイルシステムにファイルを保存します。ファイルシステムが大きければメモリに保存する必要はありません。

+0

オプション3がうまくいきました。ご協力いただきありがとうございます! –

+0

答えを受け入れることはできますか?ありがとう。 –

関連する問題