Google Apps 脚本 - 将 base 64 图像源转换为图像文件

Google Apps Script - Convert base 64 Image source to an image file

这里是一个图像标签的例子,图像源是 base 64 数据。 base 64数据是笑脸

<img src="data:image/png;base64,R0lGODlhDAAMAKIFAF5LAP/zxAAAANyuAP/gaP///wAAAAAAACH5BAEAAAUALAAAAAAMAAwAAAMlWLPcGjDKFYi9lxKBOaGcF35DhWHamZUW0K4mAbiwWtuf0uxFAgA7">

我想使用 base64 数据在 Google 驱动器中创建图像文件。

我尝试了以下代码,它运行并创建了一个没有错误的文件,但它无法作为图像文件打开。

function createImageFileFromBase64() {
  var data = 'R0lGODlhDAAMAKIFAF5LAP/zxAAAANyuAP/gaP///wAAAAAAACH5BAEAAAUALAAAAAAMAAwAAAMlWLPcGjDKFYi9lxKBOaGcF35DhWHamZUW0K4mAbiwWtuf0uxFAgA7';

  var imageBlob = Utilities.newBlob(data, 'image/png');

  var resource = {
    title: 'AAA Test_Image',
    mimeType: 'image/png'
  }

  var theReturn = Drive.Files.insert(resource,imageBlob );

  Logger.log('file ID: ' + theReturn.id);
}

我的目标是在不向图像文件发出外部请求的情况下制作图像文件。我希望图像数据 "hard coded" 到脚本中。

使用 decoding the base64 字符串创建的字节数组创建 blob:

var imageBlob = Utilities.newBlob(Utilities.base64Decode(data), 'image/png');