Skip to content

Updating google drive file contents yields corrupted file due to multipart #118

Open
@AdeelK93

Description

@AdeelK93

Hello! Big fan of this library. Let's say I have a csv I'd like to update, and the new revision looks like this:

a,b
1,4
2,5
3,6

If I try to update an existing file's contents (such that I can retain revision history, rather than deleting+creating) like this:

req = drive.files.update(fileId=new_file_id, upload_file=data.read(), supportsAllDrives=True, fields=fields)

On Google Drive, I'll get a corrupted multipart file.

--3c76f6a5ff7d445f9320bfd7b5bdfaee
Content-Type: application/json
Content-Length: 4

null
--3c76f6a5ff7d445f9320bfd7b5bdfaee
Content-Type: text/csv

a,b
1,4
2,5
3,6

--3c76f6a5ff7d445f9320bfd7b5bdfaee--

But if after declaring the req (and before requesting) I disable multipart:

req.media_upload.multipart = False

The file updates fine! Is there a way this could be fixed more automatically in the library?

Also - disabling multipart does nothing to fix the issue for pipe_from uploads. You'll get an identically corrupted file regardless.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions