使用 AJAX POST 发送 PDF 文件到 ASP.NET API
sending PDF file using AJAX POST to ASP.NET API
我在使用 AJAX POST 将 jsPDF 创建的 PDF 文件发送到 .NET API 时遇到了很多问题。现在我可以使用 base64 但我宁愿不用,因为它会增加很多文件大小。
创建 PDF(jsPDF:doc.output)时,您得到的结果是 'string',就像第一张图片一样,此文件已正确创建,所以这不是问题所在:
下一步是发送数据,为此我使用 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,在下图中你可以看到服务器是如何接收它的:
pdf 文件:
第json个对象:
JSON对象的内容字面意思是:[object][object]
虽然只发送了部分 pdf 文件,但只有前 99 行发送到服务器(见下图):
如果有人对此事有任何建议,那将是一个巨大的帮助,因为我已经尝试解决这个问题超过一天了(如果真的有必要,我将不得不回到 base64) .
谢谢
最后我使用 base64 完成了它,因为我们在这个问题上花费了很多时间。
我在使用 AJAX POST 将 jsPDF 创建的 PDF 文件发送到 .NET API 时遇到了很多问题。现在我可以使用 base64 但我宁愿不用,因为它会增加很多文件大小。 创建 PDF(jsPDF:doc.output)时,您得到的结果是 'string',就像第一张图片一样,此文件已正确创建,所以这不是问题所在:
下一步是发送数据,为此我使用 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,在下图中你可以看到服务器是如何接收它的:
pdf 文件:
第json个对象:
JSON对象的内容字面意思是:[object][object] 虽然只发送了部分 pdf 文件,但只有前 99 行发送到服务器(见下图):
如果有人对此事有任何建议,那将是一个巨大的帮助,因为我已经尝试解决这个问题超过一天了(如果真的有必要,我将不得不回到 base64) .
谢谢
最后我使用 base64 完成了它,因为我们在这个问题上花费了很多时间。