私は、Apache CXFを使用してJacksonを使用してJSONファイルを使用して生成するWebサービスで作業していました。
しかし、サービスのメソッドの1つは、Webアプリケーションへのマルチパート/フォームデータのPOST要求を行うモバイルアプリケーションからアップロードされたイメージを保存できなければならず、この種のコンテンツタイプをどのように扱うかわからない私の状況私たちは通常、JSONを消費して生成するための "Request"と "Response"オブジェクトを作成しますが、この場合はうまくいかないでしょう。RESTful CXFを使用したマルチパート/フォームデータの消費
これはリクエスト形式です:
Content-type: multipart/form-data
"Description": text/plain
"Path": text/plain
"Image": image/jpeg
正しく要求のこの種を消費し、画像サーバサイドを保存する方法は?
次のPOSTリクエストを消費しようとすると、しかしpublic returnType savePicture(
@Multipart(value = "mode", type = "text/plain") String mode,
@Multipart(value = "type", type = "text/plain") String type,
@Multipart(value = "path", type = "text/plain") String path
@Multipart(value = "image", type = "image/jpeg") Attachment image
)
{
:
[EDIT]
は、私はこれを使用してマルチパート/フォームデータを消費するために管理しました
Content-type: multipart/form-data, boundary=AaB03x
--AaB03x
content-disposition: form-data; name="mode"
T
--AaB03x
content-disposition: form-data; name="type"
M
--AaB03x
content-disposition: form-data; name="path"
c:/img/
--AaB03x
content-disposition: form-data; name="image"; filename="image.jpg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary
imgdata
--AaB03x--
次のエラーが表示されます。
javax.ws.rs.BadRequestException: org.apache.cxf.jaxrs.utils.multipart.MultipartReadException: No multipart with content id type found, request content type : multipart/form-data;boundary=AaB03x
私だけモードを消費する場合、例えば、それが正常に動作します。それは2つ以上のパラメータのためだけに壊れます。それが間違っている理由は何ですか?
1. HTTPを参照してください/ /stackoverflow.com/questions/10246579/jax-rs-with-cxf-rest-assured-handling-multiparam-file-upload 2. http://stackoverflow.com/questions/8913382/uploading-multiple-files-and- metadata-with-cxfこれらを参照してください – Sikorski
3. http://cxf.apache.org/docs/jax-rs-multiparts.html – Sikorski
リンクをありがとう、私はそれらから有用なものを作ることを試みるでしょう。私はテキスト/プレーンを消費することができましたが、今はイメージに問題がありますが、リンク1のようにinputStreamを試していません。 – fcm