Logic Apps — встраивание base64 в тело письма

Я хочу отобразить следующее изображение Base64 внутри тела электронной почты приложений логики.

{
"image": [
 "data:image/jpeg;base64,/9j/4AAQSkZJRgA..."
 "data:image/jpeg;base64,/9j/4AAQSkZJRgA..."
 "data:image/jpeg;base64,/9j/4AAQSkZJRgA..."
 "data:image/jpeg;base64,/9j/4AAQSkZJRgA..."
]
}

Внутри setVariable 2 — добавляю все детали

Для изображения я использую элементы («For_each»), но я получаю только изображение, когда отправляю форму.

Дайте мне знать, если у кого-то есть идея отображать несколько изображений в электронной почте.

<img src=@{items('For_each')} />

<h1 style = "text-alig:center">Demo</h1>

<strong><h3>Location</h3></strong>
<hr/>
<strong>Lat:</strong> @{triggerBody()?['latitude']}
<strong>Lon:</strong> @{triggerBody()?['longitude']}
<br />
<br />

<strong><h3>capture On:</h3></strong>
<hr/>
@{triggerBody()?['catpuredon']}
<br />
<br />

<strong><h3>my Car</h3></strong>
<hr/>
@{triggerBody()?['carphoto']}
<br />
<br />

<strong><h3>Car Photos:</h3></strong>
<hr />
<br />
<img src=@{items('For_each')} />

Добавлено Новое изображение после исправления

Вы не показали нам, как вы помещаете это в тело письма. Вы не можете просто назвать все элементы, вам нужно будет создать HTML.

Skin 15.02.2023 12:02

Обновлено с телом электронной почты.

PCA 15.02.2023 12:16

Я бы сказал, что вам нужно перебрать каждое изображение в цикле FOR и добавить к строковой переменной, а не просто установить переменную. Если вы думаете, что делаете это, можете ли вы показать нам содержание шага Set variable?

Skin 15.02.2023 12:29
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
3
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В дополнение к тому, что сказал @Skin, я встроил каждый элемент в тег <img> и добавил его к строковой переменной, которая затем добавляется в тело письма. Ниже показано, как выглядит мой поток.

В качестве образца я сделал одно и то же изображение 4 раза, и ниже приведены результаты, которые я получил по почте.

Ниже приведен полный код моего приложения логики.

{
"image": {
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "For_each": {
                "actions": {
                    "Append_to_string_variable": {
                        "inputs": {
                            "name": "StringVar",
                            "value": "@concat('<img src=',item(),'>')"
                        },
                        "runAfter": {},
                        "type": "AppendToStringVariable"
                    }
                },
                "foreach": "@variables('ArrayVar')",
                "runAfter": {
                    "Initialize_variable_-_Image_String": [
                        "Succeeded"
                    ]
                },
                "type": "Foreach"
            },
            "Initialize_variable_-_Image_String": {
                "inputs": {
                    "variables": [
                        {
                            "name": "StringVar",
                            "type": "string"
                        }
                    ]
                },
                "runAfter": {
                    "Initialize_variable_-_Images_Array": [
                        "Succeeded"
                    ]
                },
                "type": "InitializeVariable"
            },
            "Initialize_variable_-_Images_Array": {
                "inputs": {
                    "variables": [
                        {
                            "name": "ArrayVar",
                            "type": "array",
                            "value": [
                                "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...",
                                "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...",
                                "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...",
                                "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA..."
                            ]
                        }
                    ]
                },
                "runAfter": {},
                "type": "InitializeVariable"
            },
            "Send_an_email_(V2)": {
                "inputs": {
                    "body": {
                        "Body": "<p>@{variables('StringVar')}</p>",
                        "Importance": "Normal",
                        "Subject": "Images",
                        "To": "xxx"
                    },
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['office365']['connectionId']"
                        }
                    },
                    "method": "post",
                    "path": "/v2/Mail"
                },
                "runAfter": {
                    "For_each": [
                        "Succeeded"
                    ]
                },
                "type": "ApiConnection"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {
            "$connections": {
                "defaultValue": {},
                "type": "Object"
            }
        },
        "triggers": {
            "manual": {
                "inputs": {
                    "schema": {}
                },
                "kind": "Http",
                "type": "Request"
            }
        }
    },
    "parameters": {
        "$connections": {
            "value": {
                "office365": {
                    "connectionId": "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Web/connections/office365",
                    "connectionName": "office365",
                    "id": "/subscriptions/xxx/providers/Microsoft.Web/locations/eastus/managedApis/office365"
                }
            }
        }
    }
}
}

Спасибо за помощь, Света, сработало. В блоке кода «Initialize_variable_-_Images_Array» я изо всех сил пытался понять, показали ли вы пример жестко закодированных изображений dataUrl, но каким-то образом я попытался добавить массив изображений из «когда получен HTTP-запрос», и теперь я получаю несколько изображения в теле письма. Еще раз спасибо за быструю помощь.

PCA 17.02.2023 09:11

Другие вопросы по теме