2017-06-01 66 views
0

我在使用AJAX POST將jsPDF創建的PDF文件發送到.NET API時遇到了很多問題。現在我可以使用base64,但寧願不要因爲它會增加文件的大小。 在創建PDF(jsPDF:doc.output),你得到的結果是「字符串」像第一張圖片,這個文件被正確創建,所以這是沒有問題的:使用AJAX POST將PDF文件發送到ASP.NET API

image

下一步將是發送數據,對於這個我使用JavaScript FORMDATA()對象:

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

也有一些JSON內容添加,因爲與PDF文件我們也想送額外的數據。

下一步是AJAX方法:

$.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"); });

現在發送此服務器時,我看在網絡選項卡,並看到,並非所有的數據將被髮送出去

enter image description here

內容長度只有1918長,在下一張圖片中,您可以看到服務器是如何收到的:

pdf文件: enter image description here

部份JSON對象: enter image description here

的JSON obejct的內容是從字面上:[對象] [對象] 雖然pdf文件僅被部分地發送,只有第一9​​9行使它的服務器(見下圖):

enter image description here

如果有人有關於此事的任何提醒這將是一個巨大的幫助,因爲我一直在試圖解決這一問題PR會超過一天(如果真的有必要,我將不得不返回到base64)。

感謝

+0

真的沒人... – lordvlad30

回答

1

最終我做到了只用因爲我們使用到大量的時間與這個問題的base64。