【问题标题】:Google Apps Script - Convert base 64 Image source to an image fileGoogle Apps 脚本 - 将 base 64 图像源转换为图像文件
【发布时间】:2020-03-02 16:54:57
【问题描述】:

这是一个图像标签示例,图像源为 base 64 数据。 base 64 数据是笑脸。

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

我想使用 base64 数据在 Google Drive 中创建一个图像文件。

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

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

我的目标是在不对图像文件发出外部请求的情况下制作图像文件。我希望将图像数据“硬编码”到脚本中。

【问题讨论】:

  • 需要解码成字节数组。

标签: image file google-apps-script base64


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-24
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 2020-11-27
    相关资源
    最近更新 更多