Javascript Telerik kendo用户界面图纸导出PDF发送至服务器
我使用剑道ui()中的此绘图功能 为用户导出PDF非常有效 但是我想用AJAX将PDF提交回服务器 我为什么想要它?Javascript Telerik kendo用户界面图纸导出PDF发送至服务器,javascript,pdf,kendo-ui,kendo-asp.net-mvc,Javascript,Pdf,Kendo Ui,Kendo Asp.net Mvc,我使用剑道ui()中的此绘图功能 为用户导出PDF非常有效 但是我想用AJAX将PDF提交回服务器 我为什么想要它? 我想允许客户从我的服务器发送一封带有PDF的电子邮件以下是向服务器发送请求的代码: kendo.drawing.drawDOM($("#statement-print-area")) .then(function (group) { // Render the result as a PDF fi
我想允许客户从我的服务器发送一封带有PDF的电子邮件以下是向服务器发送请求的代码:
kendo.drawing.drawDOM($("#statement-print-area"))
.then(function (group) {
// Render the result as a PDF file
return kendo.drawing.exportPDF(group, {
paperSize: "auto",
margin: { left: "1cm", top: "1cm", right: "1cm", bottom: "1cm" }
});
})
.done(function (data) {
$.ajax({
type: "POST",
url: "/Customer/EmailStatement",
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
data: '{ "docData" : "' + data + '" ,"email": "' + vm.sendEmailTo + '"}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
}).done(handleResponseInfo).fail(ajaxError);
});
下面是服务器端的代码(asp.net MVC)
下面是另一个例子:
<script>
$(function () {
$("#button0PDF").kendoButton();
var button = $("#button0PDF").data("kendoButton");
button.bind("click", function (e) {
kendo.drawing.drawDOM("#divId", {
forcePageBreak: ".page-break",
//template: $("#page-template").html()
})
.then(function (group) {
// Render the result as a PDF file
return kendo.drawing.exportPDF(group, {
landscape: false
});
})
.done(function (data) {
// Save the PDF file
kendo.saveAs({
dataURI: data,
fileName: "fileName.pdf",
proxyURL: "/API/Main/Post",
});
});
});
});
</script>
你能告诉我什么是代理Uri吗?我使用spring mvc作为备份。你能告诉我如何将pdf数据接收到spring mvc控制器中,以便我可以将其保存到数据库中。当我在controller.java中接收到文件时,文件的格式是什么吗?你使用的是[FromBody]内部服务器端方法。你能告诉我这是什么吗?@SachinHR你的控制器是什么?在我的例子中是“Main”,方法是“Post”,这就是为什么proxyURL:“/API/Main/Post”
<script>
$(function () {
$("#button0PDF").kendoButton();
var button = $("#button0PDF").data("kendoButton");
button.bind("click", function (e) {
kendo.drawing.drawDOM("#divId", {
forcePageBreak: ".page-break",
//template: $("#page-template").html()
})
.then(function (group) {
// Render the result as a PDF file
return kendo.drawing.exportPDF(group, {
landscape: false
});
})
.done(function (data) {
// Save the PDF file
kendo.saveAs({
dataURI: data,
fileName: "fileName.pdf",
proxyURL: "/API/Main/Post",
});
});
});
});
</script>
public HttpResponseMessage Post([FromBody]FileData file)
{
var data = Convert.FromBase64String(file.Base64);
var result = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StreamContent(new MemoryStream(data))
};
result.Content.Headers.ContentType = new MediaTypeHeaderValue(file.ContentType);
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = file.FileName
};
return result;
}