2017-03-23 4 views
0

Ich weiß, dass diese Frage ein Duplikat sein kann, aber ich versuche seit Stunden ohne Erfolg.
Ich habe einen Winkel App, sendet er eine Menge von Feldern über Form und ein Bild (es ist ein Logo)Angular - Bild aus der Datenbank anzeigen (binär codiert)

Es in einer Mongo Datenbank gespeichert ist, und mein Problem wird, wenn ich das Bild in meinem Web muß angezeigt werden App

Wenn ich die/GET-Anfrage mache es so etwas wie dies zurück: Response Natürlich bekomme ich ein 200 OK, und es gibt keine Probleme mit der Anfrage.

Also, wie verwandle ich es in ein lesbares Format von HTML? (? base64 vielleicht Sie wissen nicht, ob es mehr Lösungen)

Meine HTML-Datei:

<img ng-src="{{$ctrl.getLogoImg}}" /> 

Meine controller.js Datei:

... 
vm.ReportsService.getSiteLogo({ id: vm.reportId, file: 'logo' }) 
    .then(data => { 
    vm.getLogoImg = data; 
    console.log('IMG OK:'); 
    console.log(data); 
    }) 
    .catch(err => { 
    console.log('ERROR IMG: ', res); 
    }); 

Meine resource.js Datei:

... 
getSiteLogo: { 
    method: 'GET', 
    params: { type: 'site' }, 
    responseType: 'arrayBuffer' // <== Not sure about this? 
}, 

Vielleicht brauche ich transformResponse in t zu verwenden, er Ressource.

Ich habe über btoa, Uint8Array und einige mehr gelesen, ohne Erfolg.

Irgendwelche Hilfe? Vielen Dank.

Antwort

0

Sie sollten die GridFs-Spezifikation befolgen. Dies würde Ihnen Zeit und Mühe sparen https://docs.mongodb.com/manual/core/gridfs/

Leider habe ich nicht, dass Sie mit Ihrem Problem helfen kann, ich brauchen würde, einen Code zu sehen ...

+0

Hallo, welcher Code möchten Sie sehen? Ich muss nur das Bild aus meiner Datenbank holen und es zu base64 oder etwas umwandeln. Der (eckige) Code oben ist alles, was ich benutze – jBaumann