Google Drive API分段上传导致文件损坏

时间:2019-09-10 15:48:15

标签: google-api google-drive-api postman multipart

我一直在尝试使用Google Drive API上传文件,但是遇到了问题,我似乎找不到答案。 上载带有文本文件的图像时,会发生这种情况。

在此处遵循文档:https://developers.google.com/drive/api/v3/manage-uploads 我需要这样的请求

Google Drive API

我从POSTMAN或Salesforce Apex尝试过,都遇到相同的问题。

我正在发送编码为Base64的图像,但是图像在Google云端硬盘上未得到解码,因此问题是没有预览并且无法打开文件。如果我下载该文件并在文本编辑器上将其打开,则内容仅为文本。

postman

这是从VS Code打开的图像

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为您正在尝试上传base64数据。那修改呢?

修改后的请求正文:

POST https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart HTTP/1.1
Authorization: Bearer [YOUR_AUTH_TOKEN]
Content-Type: multipart/related; boundary=foo_bar_baz
Content-Length: [NUMBER_OF_BYTES_IN_ENTIRE_REQUEST_BODY]

--foo_bar_baz
Content-Type: application/json; charset=UTF-8

{
  "name": "myObject"
}

--foo_bar_baz
Content-Type: image/jpeg
Content-Transfer-Encoding: base64   <--- Added this.

[JPEG_DATA]
--foo_bar_baz--
  • 请在数据部分添加Content-Transfer-Encoding: base64

参考:

如果这不能解决您的问题,我深表歉意。