如何在 CKEditor 5 中使用 asp.net core razor Pages 上传图片

阿夫辛·海达里

ClassicEditor.create(document.querySelector('#News_Body'), { language: 'fa', ckfinder: { uploadUrl: 'URL' } }) .catch(error => { console.error(error); }); I Have A Razor Page Ineed this Page 由 CKEditor 上传图片到服务器给我一个样本

Fei Han

如何在 CKEditor 5 中使用 asp.net core razor Pages 上传图片

您可以参考以下示例来实现上述要求。

JS代码

@section scripts{
    <script src="https://cdn.ckeditor.com/ckeditor5/22.0.0/classic/ckeditor.js"></script>

    <script>
        ClassicEditor
            .create(document.querySelector('#News_Body'),
                {
                    language: 'fa',
                    ckfinder: { uploadUrl: '/index/UploadImage' }
                })
            .catch(error => { console.error(error); }); 
    </script>
}

页面模型类和处理程序

[IgnoreAntiforgeryToken]
public class IndexModel : PageModel
{
    private readonly ILogger<IndexModel> _logger;

    public IndexModel(ILogger<IndexModel> logger)
    {
        _logger = logger;
    }

    public void OnGet()
    {

    }

    public async Task<JsonResult> OnPostUploadImage([FromForm]IFormFile upload)
    {
        if (upload.Length <= 0) return null;

        //your custom code logic here

        //1)check if the file is image

        //2)check if the file is too large

        //etc

        var fileName = Guid.NewGuid() + Path.GetExtension(upload.FileName).ToLower();

        //save file under wwwroot/CKEditorImages folder

        var filePath = Path.Combine(
            Directory.GetCurrentDirectory(), "wwwroot/CKEditorImages",
            fileName);

        using (var stream = System.IO.File.Create(filePath))
        {
            await upload.CopyToAsync(stream);
        }

        var url = $"{"/CKEditorImages/"}{fileName}";

        var success = new uploadsuccess
        {
            Uploaded = 1,
            FileName = fileName,
            Url = url
        };

        return new JsonResult(success);
    }
}

public class uploadsuccess
{
    public int Uploaded { get; set; } 
    public string FileName { get; set; }
    public string Url { get; set; }
}

测试结果

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Asp .net Core:如何在Razor Pages的Partial View中使用模型?

如何在asp.net 4.0中使用ckeditor启用图像上传

如何在Razor Pages ASP.NET Core中的布局内访问HostingEnvironment?

如何在ASP.NET CORE Razor Pages中创建共享表单?

如何在Asp.Net Core中的Razor类库中使用本地化

如何在ASP.NET Core 2.0中使用Razor页面处理Ajax请求

如何在ASP.NET MVC 5中使用带有razor语法的jquery?

ASP.NET Core 3.1 使用 tinymce 上传图片

ASP.NET Core Razor Pages按钮不起作用

ASP net Core Razor Pages - EF 和视图的拆分模型

Razor Pages Asp.Net-Core安装FullCalendar

如何通过Razor Pages扩展ASP.NET Core MVC项目?

为什么推荐使用Razor Pages在Asp.net Core中创建Web UI?

在Asp.Net Core中上传图片?

上传图片asp.net Core

如何在 ASP.Net Core 中保存上传的图片 URL?

如何在后台进程中使用Asp .net core上传文件

如何在ASP.NET Core 5中使用FromSqlRaw删除记录?

如何在ASP.NET 5 / vNext / Core中使用Elmah?

如何在asp.net core .NET6(Razor pages)中的單個cshtml中顯示來自多個表/模型的數據

如何在ASP.NET Core中使用Bootstrap 4

如何在ASP.NET Core应用中使用HttpClient

如何在 ASP.Net Core 3 中使用 UseNodeModules?

如何在ASP.NET Core中使用jquery

如何在ASP.NET Core中使用SqlClient?

如何在ASP.NET Core中使用区域

如何在ASP.NET Core中使用npm

如何在 Asp.Net Core 中使用 Ninject?

如何在 ASP.NET Core 中使用 API?