node.js - 如何使用 Google Drive API v3 (Node.js) 上传图片
问题描述
我想将 PNG 图像上传到云端硬盘中的特定文件夹。在前端,我将 HTML 画布转换为其dataURL
,并将其发送到我的服务器。
在我的服务器上,我的代码与文档中的说明类似。唯一不同的是我传递dataURL
给body
属性。该文件在云端硬盘中创建并具有正确的文件大小。但是该文件根本不显示图像。下载的时候说图片损坏。
我怎样才能解决这个问题?
服务器代码:
const uploadPNGToFolder = (folderId, fileName, dataURL) => {
const fileMetadata = {
name: fileName,
parents: [folderId],
};
const media = {
mimeType: 'image/png',
body: dataURL,
};
const { auth } = this;
return google.drive('v3').files.create(
{
resource: fileMetadata,
media,
fields: 'id',
auth,
corpora: 'teamDrive',
includeTeamDriveItems: 'true',
supportsTeamDrives: 'true',
teamDriveId: process.env.CLINIC_TEAM_DRIVE,
},
(err, file) => {
if (err) {
console.error(err);
} else {
console.log('File: ', file.id);
}
},
);
}
解决方案
推荐阅读
- javascript - 使用javascript通过类名更改html元素的值
- r - 在函数中使用 group_by
- r - 如何遍历 R 中单个 shapefile 中的多个重叠多边形以获取每个多边形的区域统计信息?
- javascript - 从对象数组中删除传递的对象数组
- java - 如何模拟 ResponseEntity
- c# - foreach 中的异常“等待”查询完成
- java - E/AndroidRuntime:致命例外:请主要
- node.js - Azure Devops VSTS 使用不同版本的 Node 构建代理
- python - 绘制 pandas 列的直方图
- json - 如果我已经从 API 调用 (flutter/dart) 进行了 Json 反序列化,如何从 Firebase Cloud Firestore 反序列化数组