0
JAVA jax-rsを使用して複数の画像を送信するためのREST Webサービスを右折する最良の方法は何ですか?REST Webサービスを介してBase64文字列内に複数の画像を送信する
JAVA jax-rsを使用して複数の画像を送信するためのREST Webサービスを右折する最良の方法は何ですか?REST Webサービスを介してBase64文字列内に複数の画像を送信する
JAX-RS Webサービスでは、base64文字列を使用することもできますが、ファイルを送信する方がはるかに優れています。個人的には、HTTPフォームをPOSTするためのユーザーの応答を取得するメソッドを作成することをお勧めします。このフォームには、識別子だけでなく、送信する必要があるすべての情報が含まれています。
これは、このタイプのWebサービスで使用するメソッド定義に似ています。これはJerseyと互換性があり、ユーザーは基本HTMLフォームまたはPOSTリクエストを介してファイルを送信できます。 Java Webサービスの構築については、this articleをご覧ください。 「ファイルのアップロード」という側面はカバーしていませんが、非常に便利で、Java Webサービスの機能に関する一般的な情報をもっと学ぶのに役立ちました。
@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces("text/html")
public Response uploadFile(
@FormDataParam("username") String username,
@FormDataParam("password") String password,
@FormDataParam("title") String title,
@FormDataParam("file") InputStream fileInputString,
@FormDataParam("file") FormDataContentDisposition fileInputDetails) {
String status = null;
String fileLocation = "/home/user/uploadtest/test.png;
NumberFormat myFormat = NumberFormat.getInstance();
myFormat.setGroupingUsed(true);
// Save the file
try {
OutputStream out = new FileOutputStream(new File(fileLocation));
byte[] buffer = new byte[1024];
int bytes = 0;
long file_size = 0;
while ((bytes = fileInputString.read(buffer)) != -1) {
out.write(buffer, 0, bytes);
file_size += bytes;
}
out.flush();
out.close();
status = "File has been uploaded to:" + fileLocation;
} catch (IOException ex) {
System.err.println("Unable to save file: " + fileLocation);
ex.printStackTrace();
}
return Response.status(200).entity(status).build();
}
ここでjson配列として送信します。各配列要素には、1つの画像のbase64でエンコードされた文字列が含まれます。 –
いいえURLの配列を画像に送信します。 – erickson