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 回答