我将画布表示为 base64 字符串。我想将此字符串传递给服务器,以便服务器可以使用数据制作 PDF 文档。
当我尝试将数据传递到服务器时收到 414 错误:“加载资源失败:服务器响应状态为 414(请求 URI 太长)。
我已经成功下载了图像客户端。我实际上检索和下载图像没有问题,只是在塑造它所代表的文件类型时。
$('#ExportPlanView').click(function (e) {
//planViewStage.toDataURL(function (e) { window.location = e.replace("image/png", "image/octet-stream")});
planViewStage.toDataURL(function (dataURL) {
var output = dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
$.ajax({
url: '../PlanView/ExportAsPDF',
data: { DataURL: output },
datatype: 'json',
success: function (stream) { window.location = stream; }
});
});
});
将输出分成更小的块并将每个块发送到服务器,让服务器重建这些块,制作 pdf,然后将该文件流发送回客户端以触发下载,这是正确的解决方案吗?
供参考 - 数据 URL 约为 105k 个字符。