2012-01-20 4 views
3

jerseryサーブレットにこのメソッドのシグネチャがあります。サーブレットに到達していて、フォームデータがuploadedInputStreamオブジェクトに存在しますが、ストリームにHTTPアーティファクトが削除されていません。下記参照。マルチパートフォームデータリクエストからhttpアーティファクトを削除するにはどうすればよいですか?

@POST 
@Produces("text/plain") 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
public String uploadFileIE(
    @FormDataParam("qqfile") InputStream uploadedInputStream){ 

} 

ファイルに保存すると、入力ストリームがバイトデータを囲むこれらの成果物があります

-----------------------------7dc1f42e3005a8 
Content-Disposition: form-data; name="qqfile";filename="[filename]" 
Content-Type: application/octet-stream 

[bytes from data stream] 
-----------------------------7dc1f42e3005a8-- 

は、これらのアーティファクトは、この時点ですでに削除されていないでしょうか?ホイールを再発明せずに簡単に取り除く方法はありますか?

答えて

4

Jerseyでは、FormDataContentDispositionオブジェクトで余分なヘッダー情報を '消費する'必要があります。厄介だが必要:

@POST 
@Produces("text/plain") 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
public String uploadFileIE(
    @FormDataParam("qqfile") InputStream uploadedInputStream, 
    @FormDataParam("qqfile") FormDataContentDisposition fileDetail){ 

} 
+0

ありがとう。これは一日中私のお尻を蹴っていた。 – pclem12

関連する問題