2017-10-19 115 views
2

添加多個內嵌圖片我想多張圖片添加到我郵箱體office.js。我無法在Outlook

我使用下面的代碼:

Office.context.mailbox.item.addFileAttachmentAsync(uri, 
      assetName, 
      { isInline: true }, 
      function (asyncResult) { //resolvepromise }); 

(我把這種現象稱之爲多次我插在我的郵件正文的CID正確的HTML之後)

如果我不使用isInline,圖片全部添加到我的郵件正文中,但它們顯示在附件欄中。

如果我確實使用isInline,我的郵件正文中只有一張插入右邊的圖像(其他人是角落中有紅色十字的白色方塊)。

我也嘗試添加到每個附件之後調用Office.context.mailbox.item.saveAsync但這並沒有幫助。

任何人都可以幫助我嗎?

+0

你能提供你正在使用回調的代碼(即'// resolvepromise')? –

回答

0

爲什麼你不使用「setAsync」功能插入身體內的圖像,而不使用這種「addFileAttachmentAsync」?這種方式更簡單。

var htmlContent='<img src=".."><img src="..">'; 
Office.context.mailbox.item.body.setAsync(
            htmlContent, 
            {coercionType: Office.CoercionType.Html }, 
            function (asyncResult) { }); 
+0

那麼我將如何插入圖片呢?我使用的網址是臨時的,只對幾分鐘有效,所以我需要將圖像文件作爲附件包含在內。 – Nick

+0

@Nick完全按照上面的提示發佈給你,使用'setAsync'函數。你可以在body內插入html他的功能,所以HTML中創建img元素,然後使用功能簡單。 – OriEng

+0

我用於圖片的網址只有幾分鐘有效,所以我不希望圖片指向該圖片,所以我想將它們添加爲附件 – Nick

0
Office.context.mailbox.item.addFileAttachmentAsync(
"https://i.imgur.com/tH8sYNt.png", 
"test3.png", 
{asyncContext: null, isInline: true},  
function (asyncResult)  { 
     Office.context.mailbox.item.body.setSelectedDataAsync( 
                 "<img src='cid:test3.png'>", 
                    { coercionType: Office.CoercionType.Html, 
         asyncContext: null }); 
} 

上面的代碼爲我工作。在展望2016 C2R,你能提供一些樣本輸入到你的代碼,如果它不能正常工作?也就是你在做什麼來設置身體?還提供一些您的客戶端版本信息。 (臺式機的Outlook 2016?2013?OWA?具體的版本號)

+0

是的我也是這麼做的,對於一張圖片來說,它可以很好地處理多個圖片,但它會失敗: Office.context.mailbox.item.addFileAttachmentAsync( 「https://i.imgur.com/tH8sYNt .PNG 「 」test3.png「, {isInline:真}, 函數(asyncResult){ \t \t Office.context.mailbox.item.addFileAttachmentAsync( \t \t」 https://i.imgur.com /SknNBOl.jpg」, \t \t 「test4.png」, \t \t {isInline:真正}, \t \t˚F (asyncResult){ \t \t \t \t Office.context.mailbox.item.body。setSelectedDataAsync( \t \t \t \t 「」, \t \t \t \t {coercionType: 「HTML」, \t \t \t \t \t \t \t \t \t \t asyncContext:空}); \t \t \t \t} – Nick

+0

當我不添加擴展名(如.png)時,圖片確實出現在我的郵件正文中,但接下來接收者會看到附件。當我添加擴展名時,只有一張圖片出現在我撰寫的郵件正文中(其他人是白色的,角落裏有紅色十字)。但在這種情況下,在接收端沒有顯示附件。這是在桌面Win32 Outlook 2016和MAC上。 Outlook Online在這兩種情況下都不插入圖像 – Nick

+0

這是Outlook桌面API中的一個錯誤,我們正在研究它。現在,如果您喜歡內嵌圖像,或者將isInline設置爲false(如果所接圖像可接受),請將其忽略。對於outlook online,你能否提供更多的細節,比如瀏覽器,錯誤信息等等,因爲我們無法複製它。感謝您的報告。 –