Google Apps Script - преобразование исходного изображения в формате Base 64 в файл изображения - PullRequest
0 голосов
/ 02 марта 2020

Вот пример тега изображения с источником изображения в качестве данных 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);
}

Моя цель - создать файл изображения без внешнего запроса к файлу изображения. Я хочу, чтобы данные изображения были "жестко запрограммированы" в сценарии.

1 Ответ

2 голосов
/ 02 марта 2020

Создание большого двоичного объекта с использованием байтового массива, созданного декодированием строки base64 :

var imageBlob = Utilities.newBlob(Utilities.base64Decode(data), 'image/png');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...