javascript - 无法识别 js 中 Google Drive 上的图片上传
问题描述
我正在尝试使用 oauth 令牌和获取 url 在谷歌驱动器上上传图像文件。 https://developers.google.com/drive/api/v3/manage-uploads 执行分段上传,HTTP。当我尝试上传时,获取 url 响应返回状态 200,并且在谷歌驱动器中,文件在那里。但是看不到(识别不支持img)。
这是我的标题
method: post
Authorization: `Bearer ${token}`
Content-Type: `multipart/related; boundary=${boundaryString}`
Content-Length: ${body.Length}
这是我的身体
--`${boundaryString}`
Content-Type: application/json; charset=UTF-8
{"name":"myimage.png","description":"Upload image","mimeType":"image/png"}
--`${boundaryString}`
Content-Type: image/png; Content-Transfer-Encoding: base64
data:image/png;base64,iVBO......TkSuQmCC
--`${boundaryString}`--
回复 :
status: 200 url: "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart"
body: {
id: "~~~~"
kind: "drive#file"
mimeType: "image/png"
name: "myimage.png"
当我开车时,它存在。它的详细信息收集(名称,描述,mimeType),但无法像其他图像一样识别。(不支持文件格式。)当我检查 <img src ="data:image/png;base64,iVBO......TkSuQmC" />
它是否有效时。能告诉我有什么问题吗?
解决方案
这个改装怎么样?
修改点:
- 请
Content-Type: image/png;
从数据部分中删除。 - 请删除 base64 数据的标头。
当以上几点反映到您的请求正文中时,它变为如下。
修改后的请求正文:
--`${boundaryString}`
Content-Type: application/json; charset=UTF-8
{"name":"myimage.png","description":"Upload image","mimeType":"image/png"}
--`${boundaryString}`
Content-Transfer-Encoding: base64
iVBO......TkSuQmCC
--`${boundaryString}`--
笔记:
在这种情况下,换行符很重要。请注意这一点。
在此修改中,假设您的访问令牌可用于将文件上传到 Google Drive。
虽然我不确定您的实际脚本,但如果您使用 Javascript,那么以下修改后的脚本怎么样?
var data = `--${boundaryString} Content-Type: application/json; charset=UTF-8 {"name":"myimage.png","description":"Upload image","mimeType":"image/png"} --${boundaryString} Content-Transfer-Encoding: base64 iVBO......TkSuQmCC --${boundaryString}--`;
推荐阅读
- ios - 无法单击选项卡栏控制器中的更多选项列表
- django-templates - 如何覆盖 django allauth 电子邮件模板
- github - 有没有办法将网站中使用的资产提交到 GitHub?
- c# - WPF 建议文本框
- javascript - 如何在添加标题时使用 javascript fetch api 上传文件
- r - R如何在内部表示NA?
- lapack - CentOS 5 中的 lapacke.h
- python - 如何分配要在循环外使用的变量?
- java - 使用 ACRCloud 将音频记录保存在文件中
- java - Spring:在 Maven 测试中不调用 @PostConstruct,但如果测试在 IDEA 中运行,则可以正常工作