Back to Devexpress

RichEditBuilder.ExportUrl(String) Method

aspnetcore-devexpress-dot-aspnetcore-dot-richedit-dot-richeditbuilder-dot-exporturl-x28-system-dot-string-x29.md

latest4.2 KB
Original Source

RichEditBuilder.ExportUrl(String) Method

Specifies the path where the exported document is sent for saving.

Namespace : DevExpress.AspNetCore.RichEdit

Assembly : DevExpress.AspNetCore.RichEdit.v25.2.dll

NuGet Package : DevExpress.AspNetCore.RichEdit

Declaration

csharp
public RichEditBuilder ExportUrl(
    string url
)

Parameters

NameTypeDescription
urlString

The URL.

|

Returns

TypeDescription
RichEditBuilder

An object that can be used to further configure the Rich Text Editor.

|

Remarks

Set the ExportUrl property to process document saving on the server side.

View Example: How to load/save documents from/to a database

Note

The ExportUrl property is not in effect if the document saving is implemented on the client side (the handled property is set to true ).

cshtml
@(Html.DevExpress().RichEdit("richEdit")
   .ExportUrl(Url.Action("Export"))
   .Height(600)
   .ConfirmOnLosingChanges(c => c.Enabled(false))
)
csharp
public IActionResult Export(string base64, string fileName, DevExpress.AspNetCore.RichEdit.DocumentFormat format, string reason) {
    byte[] fileContents = System.Convert.FromBase64String(base64);
    return Ok();
}

Note

If you apply the [ApiController] attribute to your controller, you should add the [FromForm] attribute to parameters in the Export action.

csharp
public IActionResult Export([FromForm]string base64, [FromForm]string fileName, [FromForm]int format, [FromForm]string reason) {  
  byte[] fileContents = System.Convert.FromBase64String(base64);  
  return Ok();  
}

For Razor Pages web apps only

To use the ExportUrl method in a Razor Pages web app, it is necessary to add the following adjustments.

Add an anti‑forgery token to internal requests the Rich Text Editor sends to action handlers. This token prevents Cross-Site Request Forgery (CSRF/XSRF) attacks.

razor
@inject Microsoft.AspNetCore.Antiforgery.IAntiforgery Antiforgery

<script>
    function richEdit_beforeSend(richEdit, e) {
        e.request.setRequestHeader("RequestVerificationToken",
                                "@Antiforgery.GetAndStoreTokens(HttpContext).RequestToken");
    }
</script>

@(Html.DevExpress().RichEdit("richEdit")
    .ExportUrl(Url.Page(pageName: null, pageHandler: "Export"))
    .OnBeforeSend("richEdit_beforeSend")
)

Declare a POST action handler to save a document.

csharp
public void OnPostExport(string base64, string fileName, DevExpress.AspNetCore.RichEdit.DocumentFormat format, string reason) {  
    byte[] fileContents = System.Convert.FromBase64String(base64);  
 }

Use this handler in the ExportUrl method as follows.

csharp
.ExportUrl("RichEditPage?handler=export")

See also: Add RichEdit to a .NET Core Application

Run Demo: Document Management

See Also

Save a Document

Add RichEdit to a .NET Core Application

RichEditBuilder Class

RichEditBuilder Members

DevExpress.AspNetCore.RichEdit Namespace