2
我有我的畫布表示爲base64字符串。我想將此字符串傳遞給服務器,以便服務器可以使用這些數據製作PDF文檔。將畫布dataURL導出爲PDF - 如何? DataURL太長,無法傳遞到服務器
當我嘗試將數據傳遞給服務器時,我收到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個字符。
你能解釋一下爲什麼這種變化的東西? – 2012-03-08 23:52:47
POST請求除了URL之外,還可以包含一個單獨的「主體」。 POST請求中的數據在主體中發送,其大小不受查詢字符串限制。通常情況下,PHP中POST主體的默認最大大小爲8兆字節。 – 2012-03-08 23:56:18