2017-03-26 1 views
8

Ich habe WebApi geben Sie mir eine Blob-Datei, die ich anzeigen muss. Wie kann ich wissen, welcher Typ der Blob ist, den ich bekommen habe? Es könnte alles, pdf, doc, JPEG usw.

$http({ method: 'GET', url: (itemsUrl), responseType: 'arraybuffer' }).then(function mySucces(res) { 
    var byteArray = res.data; 
    byteArray = new Uint8Array(byteArray); 
    var file = new Blob([byteArray], { type: '??????' }); 
    var fileURL = URL.createObjectURL(file); 
    window.open(fileURL); 
}); 

sein oder, wie kann ich öffnen Klecks in einem neuen Fenster ohne den Dateityp kennen?

Antwort

10

Verwenden response.headers() den Inhaltstyp zu erhalten:

var config = { responseType: 'blob' }; 

$http.get(itemsUrl, config).then(function onSuccess(response) { 
    var blob = response.data; 
    var contentType = response.headers("content-type"); 
    var fileURL = URL.createObjectURL(blob); 
    window.open(fileURL); 
}); 

Betrachten 'blob' als response verwenden.

Weitere Informationen finden Sie unter MDN XHR responseType.