ant-design-blazor / ueditor-blazor

A wysiwyg rich text web editor based on UEditor and Blazor.
https://ant-design-blazor.github.io/ueditor-blazor/
Apache License 2.0
48 stars 10 forks source link
blazor editor wysiwyg

ueditor-blazor

A wysiwyg rich text web editor based on UEditor and Blazor.

💿 Current Version

Usage

  1. Install the package

      $ dotnet add package UEditorBlazor -v 0.1.0-*
  2. Import js resources

        <script>
            window.NEDITOR_UPLOAD = "/api/upload";
        </script>
        <script src="https://github.com/ant-design-blazor/ueditor-blazor/raw/master/_content/UEditorBlazor/neditor.config.js"></script>
        <script src="https://github.com/ant-design-blazor/ueditor-blazor/raw/master/_content/UEditorBlazor/neditor.all.min.js" defer></script>
        <script src="https://github.com/ant-design-blazor/ueditor-blazor/raw/master/_content/UEditorBlazor/neditor.service.js"></script>
        <script src="https://github.com/ant-design-blazor/ueditor-blazor/raw/master/_content/UEditorBlazor/ueditor-blazor.js"></script>
  3. That's all! Then you can use the UEditor.Editor component.

    <UEditor.Editor @ref="editor" @bind-Value="value" @bind-Html="html" Height="500px" Width="700px" />
    
    @code {
        string value = "Hello Blazor!";
        string html;
    
        Editor editor;
    }

    Image Loading

If you want to implement custom image loading, follow the instructions listed below:

1. Setting the upload api endpoint:

<script>
    window.NEDITOR_UPLOAD = "/api/upload";
</script>

In neditor.service.js, be sure in getActionUrl function, return window.NEDITOR_UPLOAD.

2. Image upload server implementing:

2.1 Before adding an api controller, register some stuffs

services.AddControllers();

2.2 Add a directory to store images

app.UseStaticFiles(new StaticFileOptions {
    FileProvider = new PhysicalFileProvider(image_path),
    RequestPath = "/I"
})

The /I suffix is used to show preview images. You can modify image_path and /I meantime in the controller.

2.3 Write an api controller to process /api/upload request

See ImageController.cs. Remember the root and result.url variants should be the same as mentioned in 2.2.

3. Enjoy.