Встроенное изображение в Outlook добавить в

Я работаю над этой надстройкой для Outlook, и надстройка заключается в том, что вы заполняете форму или выбираете форму, и она вставляет данные в тело письма. Весь текст работает нормально, но мне нужно добавить встроенное изображение тоже. Думайте об этом как: у вас есть форма, и вы можете выбрать определенное изображение, а когда вы закончите сочинять и нажать "Готово", весь текст и изображение должны перейти в тело.

Насколько я прочитал, есть 3 способа сделать это: преобразовать в Base64 (что моя команда не хочет), добавив HTMLimg пометьте общедоступным URL-адресом картинки (опять же, не то, что мы ищем), прикрепив письмо к серверу и сослав его наcid: внутри HTML. Последнее, что мы хотим.

Я не уверен, как идти о реализации этого с помощью JavaScript. Как мне прикрепить изображение с сервера с помощью URL? Я думаю, что ссылаться на него внутри HTML не должно быть сложно.

Есть идеи?

1 ответ

Решение

Я не могу комментировать из-за моей репутации.

На всякий случай, если кому-то понадобится дополнительная информация. Я имел дело с этим раньше.

Я остановился на cid, после проверки того, как это делает outlook. Поэтому я верю, что вы делаете, создаете свой cid, и когда вы добавляете изображение в тело, вы заменяете любой исходный код своим cid. Что-то вроде этого:

           var szName = "cute_bird-" + attachmentName + ".png";
           var options = { isInline: true, ContentId: attachmentName, asyncContext: { UniqueName: attachmentName } };

           Office.context.mailbox.item.addFileAttachmentAsync
                            (
                            file_attachment_obj.url,
                            attachmentName,
                            options,

                            function (asyncResult) {
                                if (asyncResult.status == Office.AsyncResultStatus.Failed) {
                                    app.showNotification('Failed to add attachment', asyncResult.error.message);
                                }
                                else {


                                    var szCID = asyncResult.asyncContext.UniqueName;

                                    var newImageSource= "cid:" + szCID;

                                    $(img).attr("src", bizimcigid);

                                }

                            }
                            );

И я уверен, что когда вы, наконец, добавите его, это должно выглядеть в браузере:

Надеюсь, что это помогает кому-то. Мне понадобилось время, чтобы добраться до этой точки

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