1

Jersey 2.0 で Dropbox 用の REST クライアントを実装しようとしています。

次のコードは正常に動作し、私のファイルは Dropbox に正常にアップロードされます。

    String targetUrl = "https://api-content.dropbox.com/1/files_put?access_token=" + token.access_token + "&root=dropbox&path=Public/" + file.getName();
    WebTarget target = client.target(targetUrl);
    final FileDataBodyPart filePart = new FileDataBodyPart("file", file);
    final MultiPart multipart = new FormDataMultiPart().bodyPart(filePart);
    Response response = target.request()
            .put(Entity.entity(multipart, multipart.getMediaType()));

ただし、アップロードされたファイルには不要な MIME 境界が含まれています。

元のファイル:

response : {
    "hash": "3ebf46d672258e1e190b70cc1f0dd5ce", 
    "revision": 87707813, 
…

"size": "0 bytes"}

アップロードされたファイル:

--Boundary_1_393888375_1373874680685
Content-Type: text/plain
Content-Disposition: form-data; filename="Dropbox.txt"; modification-date="Fri, 12 Jul 2013 04:23:29 GMT"; size=1328; name="file"

response : {
    "hash": "3ebf46d672258e1e190b70cc1f0dd5ce", 
    "revision": 87707813, 
…

"size": "0 bytes"}

--Boundary_1_393888375_1373874680685--

アップロードされたファイルから MIME 境界を取り除くことはできますか?

4

1 に答える 1

0

を使用してアップロードしてContent-Type: multipart/form-dataいます。

text/plain内部にあるため、境界が表示されますmultipart/form-data

あなたの質問に答えると、はい、を使用してアップロードするようにコードを変更するtext/plainと、境界がうまくいきます。

于 2013-07-16T06:33:46.133 に答える