Скрипт приложения Google: отправка почты, inlineImage из файла js - PullRequest
0 голосов
/ 01 октября 2018

Я использую google.script.run , чтобы использовать MailApp API в скрипте приложения Google, и передаю почтовый объект, подобный этому:

google.script.run.sendMail(mail);

Почтовый объект имеет следующую структуру:

  var mail = {
    to:"",
    cc:"",
    subject:"",
    htmlBody:"",
    inlineImages: inlineImages
  }

inlineImages - это объект Javascript, который сопоставляет ключевую строку с данными изображения (BlobSource) из Ресурсы Google

Но затем я передаю Файл объект в inlineImages Я получаю Ошибка из-за недопустимого значения .

РЕДАКТИРОВАТЬ:

Я получаю inlineImages , как это:

var inlineImages

function createImages(event) {
    var file = event.target.files[0];
    var key = "image"+Object.keys(inlineImages).length;

    inlineImages[key] = file;
}

Я также пытаюсь получить объект изображения:

function createImages(event) {
    var file = event.target.files[0];
    var key = "image"+Object.keys(inlineImages).length;

    var reader = new FileReader();
    reader.onload = function(e) {
        var img = new Image();
        img.src = e.target.result;

        inlineImages[key] = img;
    }

    reader.readAsDataURL(file);
}

1 Ответ

0 голосов
/ 01 октября 2018

FileObject не является допустимым значением.

Допустимыми параметрами и возвращаемыми значениями являются примитивы JavaScript, такие как
+ Number,
+ Boolean,
+ String или
+ null, а также
+ объекты и массивы JavaScript, состоящие из примитивов, объектов и массивов.
+ Элемент формы на странице также допустим в качестве параметра, но он должен быть функциейединственный параметр, и он недопустим в качестве возвращаемого значения

Единственный способ получить файл, прошедший через вышеупомянутые ограничения от клиента к серверу, - это преобразовать fileObject в одно извышеуказанные типы.Я пойду с формой:

Если вы вызываете серверную функцию с элементом формы в качестве параметра, форма становится единым объектом с именами полей в качестве ключей и значениями полей в качестве значений.Все значения преобразуются в строки, за исключением содержимого полей ввода файлов , которые становятся Blob объектами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...