2017-07-05 3 views
0

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 enter image description here

Antwort

0

Ich frage mich, ob das Problem ähnlich zu dem, was wir mit Script Lab, https://github.com/OfficeDev/script-lab/issues/458 gefunden? Wenn dies der Fall ist, kann es sich um einen Plattformfehler/eine Einschränkung handeln, obwohl es gut wäre, sie weiter zu untersuchen. Sehen Sie mehr in dieser Ausgabe. Wenn Sie bestätigen können, ob es sich um dasselbe Problem handelt oder nicht, wäre dies ein guter erster Schritt. Vielen Dank!

+0

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? –

+0

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? –

+0

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. –

Verwandte Themen