ステートレス モバイル アプリでは、モバイル クライアントから、Spring MVC ベースの Web レイヤーを公開するサーバーに画像ファイルをアップロードする必要があります (後で、この画像に対して OCR プロセスを実行する必要がありますが、現時点では関係ありません)。 .
私が見たすべての春の MVC ファイル アップロードの例は、modelAndView の存在を前提としているため、私のニーズに合わないMultipartFilesに基づいていますが、私のサーバーはステートレスであり、モデルやビューも HTTP セッションも使用せず、純粋でシンプルな JSON 形式の安静なリクエスト。
これを行う最善の方法は何だろうか?
今のところ、画像を文字列としてサーバーに送信するテストを作成しました (base64 エンコーディングを使用)。何かのようなもの:
ClassPathResource myFile= new ClassPathResource("imageName.jpg");
byte[] fileByteArray = Files.readAllBytes(myFile.getFile().toPath());
String imageAsString = Base64.encodeBase64URLSafeString(fileByteArray);
今、この imageAsString をコントローラに送信しています。私のコントローラーでは、次のようなものを使用して、この文字列をデコードしてバイト配列に戻すことができます。
public static byte[] decodeFile(String fileDataString) {
return Base64.decodeBase64(fileDataString);
}
そのため、私のサーバーでは現在、生データであるバイト配列を保持していますが、FileOutputStream に書き込む以外に、それで何かできるかどうかはわかりません。サーバーに画像をアップロードするための良い方法を誰かが推奨できますか?