2017-06-01 2 views
0

Ich habe viele Probleme mit dem Senden einer jsPDF erstellten PDF-Datei an eine .NET-API mit AJAX POST. Jetzt könnte ich base64 verwenden, würde es aber lieber nicht, weil es die Dateigröße stark erhöht. Wenn das PDF-Erstellung (jsPDF: doc.output) das Ergebnis, das Sie ist ein ‚string‘ wie das erste Bild zu erhalten, wird diese Datei korrekt erstellt, so dies ist nicht das Problem:Senden von PDF-Datei mit AJAX POST zu ASP.NET API

image

nächster Schritt sein, die Daten zu senden, für das ich ein Javascript-Formdata() Objekt bin mit:

var data = new FormData(); 
data.append("json", jsonData); 
data.append("pdf", pdfData); //pdfData = doc.output() 

Es gibt auch einigen JSON Inhalt, weil mit der PDF-Datei hinzugefügt wollen wir auch zusätzliche Daten gesendet.

Der nächste Schritt ist die AJAX-Methode:

$.ajax({ url: url, headers: header, data: data, method: 'POST', contentType: false, processData: false }).success(function (data, textStatus, jqXHR) { console.log("succes"); }).error(function (jqXHR, textStatus, errorThrown) { console.log("error"); });

Nun, wenn diese an den Server sendet, ich in der Registerkarte Netzwerk schauen und sehen, dass nicht alle Daten gesendet werden:

enter image description here

Die Inhaltslänge ist nur 1918 lang und in den nächsten Bildern können Sie sehen, wie es vom Server empfangen wird:

die pdf-Datei: enter image description here

ths json Objekt: enter image description here

Der Inhalt des JSON obejct ist wörtlich: [object] [object] Während die pdf-Datei nur teilweise nur die erste gesendet, 99 macht es an den Server (siehe nächstes Bild):

enter image description here

Wenn jemand hat jede Beratung zu diesem Thema wäre es eine große Hilfe seiner Ursache ich habe diese pr zu beheben versucht, Problem für mehr als einen Tag (und wenn es wirklich notwendig ist, werde ich zurück zu base64 gehen müssen).

Dank

+0

wirklich niemand ... – lordvlad30

Antwort

1

Am Ende habe ich es base64 tat nur, weil wir mit zu viel Zeit mit diesem Thema verwenden.

Verwandte Themen