首页 > 解决方案 > 如何使用 Google Drive API v3 (Node.js) 上传图片

问题描述

我想将 PNG 图像上传到云端硬盘中的特定文件夹。在前端,我将 HTML 画布转换为其dataURL,并将其发送到我的服务器。

在我的服务器上,我的代码与文档中的说明类似。唯一不同的是我传递dataURLbody属性。该文件在云端硬盘中创建并具有正确的文件大小。但是该文件根本不显示图像。下载的时候说图片损坏。

我怎样才能解决这个问题?

服务器代码:

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);
      }
    },
  );
}

标签: node.jsfile-uploadgoogle-drive-apidrive

解决方案


推荐阅读