2017-09-20 3 views
0

空で、ここに私のコードです:は私がアップロードをファイルすることをPOST呼び出しを作成しようとしています

@POST 
@Path("/uploadfile") 
@Produces({"application/json","application/xml"}) //the default result is json 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Authenticated 
public Response saveFile(@FormDataParam("file") InputStream inputStream, 
           @FormDataParam("file") FormDataContentDisposition cdh) throws CompanyNotFoundException, UserUnauthorizedException, IllegalAccessException, WasteInvalidException, ItemNotFoundException, IOException{ 
    System.out.println(inputStream.available()); 

    return Response.ok("success").build(); 
} 

が、何らかの理由で受信InputStreamが常に0バイトを(inputStream.available() checkを使用しています)。 私はPostmanを使ってテストを行った。 enter image description here

どうしたらいいですか?

答えて

1

すべてが正しいように見えます。ストリームが空であるという前提が正しいと確信していますか? Javadocを見て:クラスのInputStreamのための

可能な方法は、常に0

あなたはそれからの読み取りとデータが存在かどう見てみてくださいを返します。

byte[] bytes = IOUtils.toByteArray(inputStream); 
+0

返信いただきありがとうございます。 InputStreamの利用可能なメソッドが常に0を返すかどうかはわかりませんでした –

関連する問題