outlook Add-In Bild & Dateien

Ich versuche, eine Lösung für meine Probleme zu finden, habe aber keine gefunden, hoffe, dass mich jemand hier retten kann.

Ich schreibe ein Add-In in JavaScript für VS2015, das Body-Nachrichten verschlüsselt und entschlüsselt.

1. Das erste Problem sind Bilder, die der Receiver nicht sehen kann. (Sprechen Sie über Bilder, die mit der Schaltfläche "Inline-Bild einfügen" in den Körper kopiert werden.)

ImCompose mode Wir verschlüsseln die Nachricht und wenn wir sie dann entschlüsseln, funktioniert sie gut, da der Erstellungsmodus clientseitig ist und er die lokalen Bilder erkennt. Imread mode Wenn der Benutzer die Nachricht entschlüsseln und die Bilder sehen möchte, die er nicht sehen konnte, weil die Verschlüsselung die Konvertierung des lokalen Bildes in Daten auf dem Server verhindert.

In meinem Code nehme ich die Body-Nachricht wie folgt (Compose-Modus)

item.body.getAsync(
                       item.body.getAsync(
                                    "html",
                                  { asyncContext: "This is passed to the callback" },
                                   function callback(resultbody) { 

                                    ......Here we send the body for ENCRYPT.

                }))

dann sendet der Benutzer die verschlüsselte Nachricht, indem er auf "normal senden" klickt.

Im Lesemodus drucke ich es einfach in mein HTML, um zu überprüfen, ob die Entschlüsselung gut ist:

(JSON.parse(xhr.responseText).Data.Content));

und dann bekomme ich Bildsymbol, aber keinen Erfolg, um das echte Bild zu zeigen. Der Quellcode des Symbols wird für einen Ort verwendet, auf den er keinen Zugriff hat.

<img src="https://attachment.outlook.office.net/owa/*****/service.svc/s/GetFileAttachment?id=AAMkADUwMDE0YWM1LTYwODctNG ......

Wie kann ich diesen Tag des Bildes nehmen und etwas tun, damit der Empfänger das Bild sehen kann? Ich möchte nicht, dass der Benutzer anstelle der ursprünglichen Ansicht ein Bild von meinem Add-In in den Body hochladen muss. Ich versuche, das Bild in eine Base-64-Zeichenkette umzuwandeln, aber mit dem, was ich im Tag habe, reicht es nicht aus, es nur mit dem Originalbild und auch mit Erfolg in HTML zu zeigen, aber nicht im Nachrichtentext mit der SetAsync-Funktion.

2. Das zweite Problem ist mit Anhängen. Ich lade Dateien mit dem Dropzone-Plug-In hoch (da Outlook keinen Zugriff zum Übernehmen von Anhängen und zum Ändern von Anhängen gewährt). Also, nachdem ich Dateien hochgeladen und ihn verschlüsselt habe, erstelle ich eine neue Datei mit der Antwort vom Server mit der Datei-API von JS:

ar f = new File([""], "filename.txt", {type: "text/plain", lastModified: date}) . .. .

Als ich die Datei an die Mail anhängen möchte, ist die einzige Methode, die dies tut:

addFileAttachmentAsync(uri, attachmentName, optionsopt, callback opt)

dann muss ich eine URL für die Datei für diese Methode erstellen, damit ich diese Methode verwende:

var objectURL = URL.createObjectURL(f);

Aber jetzt, wenn ich die Methode addFileAttachmentAsync mit objectURL verwende, wird geschrieben, dass es ein Problem gibt und es kann nicht angehängt werden. Ich denke, dass die URL falsch ist.

Danke an alle !!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage