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

标签 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

最佳答案

我认为您正在尝试上传 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

引用:

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

关于google-api - Google Drive API 分段上传导致文件损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57874270/

相关文章:

c# - 确保文件上传到 Google Drive C#

javascript - Angular 2 : Google Maps API Request: No 'Access-Control-Allow-Origin' header is present

javascript - 我是否必须在每次请求时验证 google tokenID?

ios - Google 登录显示不正确的项目名称 - iOS

ios - 如何在Google Drive API中获得下载进度(快速5)

api - 运行集成测试的最佳实践是什么?

java - 使用服务帐户为 PUSH 通知创建 Google Drive channel

java - 如果我动态传递 fileId 来查询,Google Drive api 无法获取所有子项

postman - Instagram 基本显示 API - 获取无效平台应用程序错误

Azure B2C 编排错误 AADB2C90108