Wir haben ein Problem im Office-Add-in mit Mac. Wir können die Datei nicht von Office-Add-In auf Mac herunterladen. Das gleiche Add-In funktioniert gut mit Windows-Plattform.Office-Add-In JavaScript-DateiDownload funktioniert nicht mit MAC
Wir haben als Blob Typ Daten aus unserer API-Antwort erstellt. Derselbe Blobtyp wird in FileSaver.js der SaveAs-Methode übergeben. Wir verwenden FileSaver.js zum Speichern von Dateien in den Office-Add-Ins.
Hinweis: Alles funktioniert gut auf Windows-Plattform. Wir haben bereits die Implementierung des HTML-Download-Link-Attributs wie im folgenden Link-Beispiel, aber das wird aufgrund von Sicherheitsbedenken nicht verwendet.
https://github.com/OfficeDev/Office-Add-in-JavaScript-FileDownload
Force download a pdf link using javascript/ajax/jquery
Hier sind der unser Beispielcode.
var getMessageUrl = "https://test.xxx.xxx/api/xxx/testcontroller/GetTest?id=121212121212";
\t \t \t
\t \t \t var oReq = new XMLHttpRequest();
\t \t \t
\t \t \t oReq.open("GET", getMessageUrl, true);
\t \t \t oReq.responseType = "arraybuffer";
\t \t \t oReq.setRequestHeader('X_ConnectTo', 'X-Author-CRM');
\t \t \t oReq.setRequestHeader('Access-Control-Allow-Origin', '*');
\t \t \t oReq.setRequestHeader('Access-Control-Allow-Methods', 'GET,POST,PUT,DELETE,OPTIONS');
\t \t \t oReq.setRequestHeader('Access-Control-Allow-Headers', 'Authorization, Content-Type,Accept, Origin');
\t \t \t oReq.setRequestHeader('Authorization', 'Bearer XXXXXXXXX-Token-XXXXXXX');
\t \t \t oReq.setRequestHeader('Content-Type', 'application/json; charset=utf-8');
\t \t \t oReq.onload = function (oEvent) {
\t \t \t \t var blob = new Blob([oReq.response], { type: "application/octet-binary" }); \t
\t \t \t \t saveAs(blob, 'Test1234.docx');
\t \t \t };
\t \t \t oReq.send();
hier
bekommen wir folgendes Problem auf Mac
Michael, es ist das gleiche Problem. Wir können von Safari 10.1 Version aber nicht von Office-Add-Ins auf Mac herunterladen. Ich denke, sieht so aus, als würde die FileSaver-Bibliothek nicht dafür arbeiten. Mac Office verwendet das WebKit-Steuerelement zum Einbetten von Script Lab. Es scheint, als ob es momentan nicht möglich ist, den Blob-Download-Ansatz zu verwenden, den FileSaver mit diesem Steuerelement unter Verwendung der öffentlichen WebKit-API verwendet. Was wären die nächsten Schritte zu diesem Thema oder Alternative? –
Lassen Sie mich mit einem Entwickler nachgehen, der auf dem Mac-Add-In-Hosting arbeitet. Ich empfehle Ihnen, den GitHub-Thread zu diesem Thema in Script Lab zu abonnieren/zu verfolgen. Sehen Sie, ob wir irgendwelche Schlussfolgerungen daraus ziehen können? –
Ich kann den letzten Kommentar von @ dsaunders45459 auf https://bugs.webkit.org/show_bug sehen. CGI? id = 174076 auf decidePolicyForNavigationAction API, aber nicht viel Klarheit darüber. Können wir Fall in Microsoft öffnen? Das ist wirklich dringend für uns. –