sendGridの連携について base64 encoded エラー

お世話になります。
sendgrid経由でに添付ファイルを送信したいのですが、
以下のエラーが出てしまいます。
{“errors”:[{“message”:“The attachment content must be base64 encoded.”,“field”:“attachments.0.content”,
base64エンコードしてくださいという事ですが、自分ではFileReaderを使い、やっているつもりです。

base64した結果は以下のようなデータになっていることをlogで確認しています。
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAkACQAAD/2wBDAAIBAQIBAQICAgICAgIC…

なにがいけないのか…
分かる方いましたらご教授お願いします。

※ソースコードは以下になります。sendgridはV3を使用しています。

//省略

var record = event.record;

filedownload(record[“attachment_02”][“value”][0][“fileKey”]).then(function(resp) {
var reader = new window.FileReader();
reader.readAsDataURL(resp);
reader.onloadend = function() {
var base64data = reader.result;
//console.log(base64data);

var BASIC_TOKEN = ‘トークントークントークントークントークントークントークン’;
var URL = ‘https://api.sendgrid.com/v3/mail/send’;
// リクエストヘッダ
var headers = {
‘Content-Type’ : ‘application/json’,
‘Authorization’ : 'Bearer ’ + BASIC_TOKEN
};
var contents = {
“personalizations”: [{
“to”: [{
“email”: “gorigori@example.com
}]
}],
“from”: {
“email”: “uhouho@example.com
},
“subject”: “Hello, World!”,
“content”: [{
“type”: “text/html”,
“value”: record[“電話対応履歴”][“value”]
}],
“attachments”: [
{
“content”: base64data,
“type”: “image/jpeg”,
“name”: “example_file”,
“filename”: record[“attachment_02”][“value”][0][“name”],
“disposition”: “inline”,
“content_id”: “1”
}
]
};

// kintone.proxy()による外部APIアクセス
kintone.proxy(URL, ‘POST’, headers, contents, function(body, status, headers) {
console.log(status, body);
if(status===202) {
alert(“送信しました!”);
}else{
alert(“送信できませんでした!”);
}
});

}

});

確か、contentには純粋なbase64値を入れないといけなくて、reader.readAsDataURL(blob) の resultには冒頭に

 

data:;base64,

 

みたいなものが入ってくるので、これを除いてあげる必要があったかと思います。

console.log() で確認済みと記載されてましたね。失礼しました。

data:image/jpeg;base64,をreplaceで削除して実行したら送信できました。

本当にありがとうございました。助かりました。

もう一点質問です。

上記のソースだと1ファイルのみの添付ですが、

複数ファイルを添付した場合も対応できるようにするためにはどのようにしたらよいでしょうか?

グローバル変数にblob型代入し、base64エンコードをかける処理を画像の数分ループさせてデータを作りたいとおもっているのですが、

blob型のデータの戻り値を取得する方法がいまいちよく分かりません。

分かる方いましたらご教授お願いします。

Promiseとreduceによる記述が良いかと思います。この辺[1, 2]で同じようなことをやってる例があります。

何とか実装することができました。ありがとうございました。