2016-09-27 2 views
0

Ich erhalte Antwort wieFüllen Winkelmodell aus Antwort

StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.ByteArrayContent, Headers: 
{ 
    x-filename: StatementofAccount.pdf 
    Content-Type: application/octet-stream 
    Content-Disposition: attachment; filename=StatementofAccount.pdf 
} 

jetzt ich brauche „x-Dateinamen: StatementofAccount.pdf“ zu verwenden, aber ich bin nicht in der Lage, dies zu holen. Ich fülle diese Antwort zu meinem Modell wie $ scope.dataDetail = response.data; aber als ich versuchte, console.log ($ scope.dataDetail.StatusCode)

oder console.log ($ scope.dataDetail.Headers.x-Dateiname)

aber seine zeigt nicht definiert zu bekommen. PLZ mir eine Idee, wo ich falsch mache oder wie dies zu erreichen ist.

habe ich versucht, aus der folgenden way..plz mir Idee, wo ich falsch bin .....

c# 
.... 

byte[] bytes = memoryStream.ToArray(); 
        memoryStream.Close(); 
httpResponseMessage.Content = new ByteArrayContent(bytes.ToArray()); 
        httpResponseMessage.Content.Headers.Add("x-filename", fileName); 
        httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); 
        httpResponseMessage.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment"); 
        httpResponseMessage.Content.Headers.ContentDisposition.FileName = fileName; 
        httpResponseMessage.StatusCode = HttpStatusCode.OK; 
        return httpResponseMessage; 

in AngularJS

$http({ 
      method: 'post', 
      url: basePath + '/profile/downloadpdf_fromedit', 
      // data: JSON.stringify($scope.paginginfostmntaccnt), 
      responsetype: 'arraybuffer', 
      headers: {'content-type': 'application/pdf'}, 
      // headers: { 'content-type': 'application/json' } 
     }) 
      .then(function (response) { 
       // console.log(response.data); 

       $scope.dataDetail = response.data; 
       console.log($scope.dataDetail) 

1.    var file = new Blob([response.data], { type: 'application/pdf' }); 

saveAs(file, 'StatementofAccount.pdf'); 

//url-file:///C:/Users/tushar/Downloads/StatementofAccount.pdf 
//failed to load pdf 

2.var file = new Blob([response], { type: 'application/pdf' }); 

    var fileurl = URL.createObjectURL(file); 
       window.open(fileurl); 

//url- blob:http://localhost:16311/02f8d85e-74c0-4ccd-b937-22f02cc3866c 

//failed to load pdf document 


3. 
.success(function (data, status, headers, config) { 
      // any required additional processing here 
      var results = []; 
      results.data = data; 
      results.headers = headers(); 
      results.status = status; 
      results.config = config; 

      console.log(results) 

       $("#loading").hide(); 
       headers = headers(); 

       var filename = headers['x-filename']; 

       var contentType = headers['content-type']; 
       if (!filename) { 
        filename = headers["x-filename"] || 'statementAccount.pdf'; 
       } 

       var linkElement = document.createElement('a'); 
       try { 
        var blob = new Blob([data], { type: contentType }); 
        var url = window.URL.createObjectURL(blob); 

        linkElement.setAttribute('href', url); 
        linkElement.setAttribute("download", filename); 

        var clickEvent = new MouseEvent("click", { 
         "view": window, 
         "bubbles": true, 
         "cancelable": false 
        }); 
        linkElement.dispatchEvent(clickEvent); 
        $("#loading").hide(); 

        console.log("filename" + filename); 

       } catch (ex) { 
        console.log("catch"+ex); 
        $("#loading").hide(); 
       } 
      }) 
     //url-file:///C:/Users/tushar/Downloads/statementAccount.pdf 
//failed to load pdf document 
+0

können Sie den Code einschließen, der diese Antwort anfordert? –

+0

Ich bearbeite meine Frage mit dem Code, den ich zum Herunterladen von PDF verwendet habe (dynamisch, indem ich erweiterte Suchparameter übergebe) – Neetu

+0

Sie versuchen zu fragen, wie Sie ein PDF lesen und Winkelvariablen mit dem Inhalt des PDF-Dokuments ausfüllen? – Claies

Antwort

0

Um die Header der Antwort zu nutzen, müssen Sie Um response.headers statt response.data zu verwenden, enthält der Datenabschnitt den Text der Antwort.

+0

Nein, es funktioniert nicht – Neetu