我在使用AJAX POST将jsPDF创建的PDF文件发送到.NET API时遇到了很多问题。现在我可以使用base64,但宁愿不要因为它会增加文件的大小。 在创建PDF(jsPDF:doc.output),你得到的结果是“字符串”像第一张图片,这个文件被正确创建,所以这是没有问题的:使用AJAX POST将PDF文件发送到ASP.NET API
下一步将是发送数据,对于这个我使用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"); });
现在发送此服务器时,我看在网络选项卡,并看到,并非所有的数据将被发送出去
内容长度只有1918长,在下一张图片中,您可以看到服务器是如何收到的:
的JSON obejct的内容是从字面上:[对象] [对象] 虽然pdf文件仅被部分地发送,只有第一99行使它的服务器(见下图):
如果有人有关于此事的任何提醒这将是一个巨大的帮助,因为我一直在试图解决这一问题PR会超过一天(如果真的有必要,我将不得不返回到base64)。
感谢
真的没人... – lordvlad30