我一直在尝试使用 Google Drive API 上传文件,但遇到问题,而且似乎找不到答案。 上传图片时出现这种情况,带有文本文件,似乎没问题。
按照此处的文档操作:https://developers.google.com/drive/api/v3/manage-uploads 我需要像这样形成请求
我已尝试从 POSTMAN 或 Salesforce Apex 获得相同的问题。
我正在发送编码为 Base64 的图像,但图像在 Google 云端硬盘端未解码,因此问题是没有预览且无法打开文件。如果我下载该文件并在文本编辑器上打开它,则内容只是文本。
这是从 VS Code 打开的图像
最佳答案
我认为您正在尝试上传 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/