0

将我的文档上传到谷歌驱动器时,我失去了换行符。将文档作为文本文件上传时,它可以工作:

    ByteArrayContent content = ByteArrayContent.fromString("text/plain", body);

    File uploadedFile =  drive.files().update(
            file.getId(), file, content).setSetModifiedDate(true).execute();

但是,当我添加 setConvert(true) 以将文件作为 Google 文档上传时,我会松开换行符。

    ByteArrayContent content = ByteArrayContent.fromString("text/plain", body);
    File uploadedFile =  drive.files().update(
            file.getId(), file, content).setConvert(true).setSetModifiedDate(true).execute();

我试图在我的字符串中添加不同类型的换行符(例如'\r'、'\n',甚至尝试同时使用两者)。有人知道我做错了什么吗?

编辑

所以我发现我插入的新文件有效。正是当我更新文件内容时,我才松开了换行符。这是我的插入,它有效。

  ByteArrayContent content = ByteArrayContent.fromString("text/plain", body);
  drive.files().insert(file, content).setConvert(true).execute();

这是我的更新。现在我松开了换行符。

  ByteArrayContent content = ByteArrayContent.fromString("text/plain", body);
  File updatedFile =  drive.files().update(
            driveFile.getId(), driveFile, content).setConvert(true).execute();
4

1 回答 1

0

发现了问题。在更新文档之前,我下载了它的元数据:

File driveFile = drive.files().get(resourceID).execute();

此文件的 MIME 类型为 Google 文档。在更新之前,我必须将 mimetype 重置为“text/plain”

于 2012-10-24T10:39:15.120 回答