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

2023-12-20

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

我有一个 Razor 页面 我需要此页面 通过 CKEditor 将图像上传到服务器 给我一个示例


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

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

JS code

@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; }
}

测试结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用asp.net core razor Pages在CKEditor 5中上传图像 的相关文章

  • D3更新circle-pack数据新节点与现有节点重叠

    我正在关注一般更新模式 http bl ocks org mbostock 3808234但在分层方面存在问题 使用圆形包装布局 我pack新数据 update enter and exit圆形元素 然而 当新元素enter 它们重叠upd
  • JavaScript 可以检测用户的浏览器是否支持 gzip 吗?

    我可以使用 JavaScript 来检测用户的浏览器是否支持 gzip 压缩内容 客户端 而不是 Node js 或类似内容 我正在尝试支持以下边缘情况 有很多可能的文件可以加载到特定的 Web 应用程序上 最好在应用程序运行时根据需要加载
  • 如何停止 Visual Studio 2022 向 dc.services.visualstudio.com 发送请求

    我今天安装了 vs 2022 当运行我的项目时 我突然发现所有这些请求都在我的 Web 前端中触发 https dc services visualstudio com v2 track 有谁知道为什么升级到 2022 后会突然开始发生这种
  • 个人 Tumblr 帖子上的 Javascript

    我知道您可以编辑在 tumblr 博客上呈现所有帖子博客主页的 html AngularJS 但是 有什么办法可以添加自定义到各个帖子 我想在逐个帖子的基础上做一些 javascript 的东西 但似乎无法找到可以编辑代码的位置 或者 如果
  • 在哪里可以找到有关页面请求生命周期的详细教程? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 关于页面请求生命周期的详细教程 我已经阅读了 ASP NET 页面生命周期 我正在谈论 NET 进程开
  • 为什么我需要使用 setState 回调来设置依赖于第一个项目的 setState 完成的第二个状态项目的状态?

    在此 componentDidUpdate 方法中 执行 setState 将引号设置为从 fetch 返回的内容后 我必须使用回调再次执行 setState 将 randomQuoteIndex 设置为调用 randomQuoteInde
  • 如何防止输入文本中出现“后重音”

    我相信这是一个简单的问题 但在谷歌上搜索几个小时后我找不到任何答案 也许我无法在搜索中使用正确的单词 P 我有一个 javascript 方法 可以防止用户用数字以外的其他字符填充文本框 如下面的代码所示 它在 KeyDown 事件中使用
  • 刷新/重新加载 ASP.net 的副作用?

    我在 Web 和 ASP Net 开发方面相对较新 所以请耐心等待 在测试我们的网页的过程中 我注意到 如果用户单击 刷新 重新加载 并在 重新发送信息 对话框提示时单击 重试 则无论用户选择之前触发的最后一个事件如何到 刷新 随后将再次被
  • 我应该如何实现将状态保存到 localStorage?

    CODE var React require react var Recipe require Recipe jsx var AddRecipe require AddRecipe jsx var EditRecipe require Ed
  • 如何为WCF服务创建重定向?

    我的网站 A 上托管了一个 WCF 服务 我还有另一个网站 B 它使用 IIS URL 重写将所有请求重定向到我的网站 A 但是 站点 B 不处理任何对 svc 文件的请求 返回 404 not find 知道如何让它发挥作用吗 UPD重定
  • 在 Chrome 开发者工具中禁用调试器语句

    我正在尝试对恶意 JavaScript 进行逆向工程 当我最初加载侧面时 会注入 JS 代码 其中包括 debugger 语句并将断点注入我的 chrome 开发人员控制台 通过stackoverflow阅读 禁用所有断点does not帮
  • ES6 静态方法引用 self? [复制]

    这个问题在这里已经有答案了 我有两节课 存储库和用户存储库 我想在 Repository 中定义一个静态方法 该方法在运行时调用 UserRepository 中的静态函数 有什么干净的方法可以做到这一点吗 class Repository
  • 使用 nockjs 和 jest 进行 Promise/异步单元测试的代码覆盖率问题

    我使用 NockJS 和 Jest 为 React 应用程序编写了一个简单的 API 调用单元测试 如下所示 AjaxService js export const AjaxService post url data headers gt
  • 为什么我的 D3 SVG 图上的轴不会更新?

    I have 简单的 D3 散点图 http www raxacoricofallapatorius com test scattertest html我在显示数据的几个不同属性之间切换 但是虽然我可以更改数据点 并按照我想要的方式进行转换
  • 此版本的 CLI 仅与 Angular 版本 5.0.0 或更高版本兼容错误

    我已经有 Angular 项目在 4 版本中运行 在安装新项目时 不幸的是我安装了 6 版本的 Angular cli 在以 4 版本运行的旧项目中运行 ngserve 命令时 这会引发错误 您的全局 Angular CLI 版本大于本地版
  • Javascript等待/异步执行顺序

    所以我试图把我的头脑集中在 Promise await async 上 我不明白为什么当 go 执行时 带有 finished 的警报会紧随 console log coffee 之后 当所有函数都使用等待 承诺时 为什么它只等待 getC
  • ASP.NET Core 中间件与过滤器

    在阅读了 ASP NET Core 中间件之后 我对何时应该使用过滤器以及何时应该使用中间件感到困惑 因为它们似乎实现了相同的目标 什么时候应该使用中间件而不是过滤器 9频道有一个关于此的视频 ASP NET 怪物 91 中间件与过滤器 h
  • 如何使用 jQuery 过滤 DropDownList 中的选项

    我有 2 个 DropDownList 第一个 DropDownList 有 4 个选项 第二个 DropDownList 有 20 个选项 我想要一个选项value 1在第一个 DropDownList 中选择我在第二个 DropDown
  • 如何将数据推送到嵌套对象

    如何将另一个元素推入variables来自以下对象的属性 var request name Name id 3 rules name Rule name tags tagId 1 variables variable var1 matchT
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其

随机推荐

  • 如何查询 Android MediaStore Content Provider,避免出现孤立图像?

    我正在尝试提供一个应用程序内活动 该活动显示照片缩略图 设备的媒体存储 并允许用户选择一个 用户做出后 选择后 应用程序会读取原始的全尺寸图像并对其进行处理 我正在使用以下代码创建一个Cursor覆盖外部的所有图像 贮存 public vo
  • 访问类中的类属性的 Pythonic 方法

    我想知道您认为如何从类内的函数访问类属性 我还没有在 PEP8 中找到参考资料 也没有找到关于它的常见问题 例如 class MyClass object BAR 1 def foo self Way A print self BAR Wa
  • 边界椭圆

    我被分配了一个图形模块的作业 其中一部分是计算一组任意形状的最小外接椭圆 椭圆不必与轴对齐 这是使用 AWT 形状在 java euch 中工作的 因此我可以使用形状提供的所有工具来检查对象的包含 相交 您正在寻找椭圆体最小包围体积 htt
  • 在 AngularJS 字符串中使用 HTML 实体

    给定 scope 模型中包含 HTML 实体的字符串 如何确保该实体正确显示为 HTML 字符而不是文字字符串 HTML 实体 MDN 术语表 https developer mozilla org en US docs Glossary
  • 计算选项集合中出现次数的惯用方法

    我想计算选项集合中某个值出现的次数 let v vec Some 1 Some 1 Some 3 None v iter filter Some x x 1 count 这样做会给出refutable pattern not covered
  • 如何管理企业分发证书过期?

    我们的客户刚刚加入 iOS 开发者企业计划 他们已使用其企业发行版签署了该应用程序 由我们开发 并通过 MDM 在某些设备中成功安装了该应用程序 据我所知 当我的非企业分发证书到期时 我必须更新它 一旦设备根据 Apple 的 OCSP 服
  • 如何通过javascript检测浏览器中是否按下停止加载按钮?

    如何通过 javascript 检测浏览器中是否按下停止加载按钮或页面是否仍在加载 假设脚本到达浏览器并且在按下 停止加载按钮 时不会停止执行 这可能是一个可行的选择 使用它仍然可以有未加载的资源 但会给你一个良好的开端
  • 在小写和大写之间添加空格?

    当字符串中包含大写字符或下划线时 我想添加一个空格 我该怎么做呢 实施例1 您可以使用匹配小写字符后跟大写字符的正则表达式 并在以下字符之间添加可选的下划线 string output Regex Replace input a z A Z
  • 车把动态部分块

    我有一个像这样的文件夹结构 components foo index js foo handlebars foo scss bar index js bar handlebars bar handlebars 为了方便地解析组件部分 我提供
  • UIImagePickerController 第一次打开速度很慢,双击时除外

    我在 iOS 9 上遇到了这种非常奇怪的行为 我有一个tableViewCell这会打开一个imagePicker当点击拍摄某物的照片时 当您第一次点击单元格时 需要大约 10 秒才能打开选择器 但是当您点击它两次时 它会立即打开 选择器的
  • 将数据写入assets目录下的.properties文件

    我的资产文件夹中有 config properties 我尝试获取数据并将其写入该文件 当我尝试获取数据 getProperty 时 一切正常 但是何时写入 setProperty 我在日志和数据中收到 java io IOExceptio
  • Meteor:将 Mongo Selector 从客户端传递到服务器的最佳方法

    我有一个如下所示的 mongo 集合 Foo X 键 Bars 值 编辑 我来自关系数据库背景 显然我的收藏不像下面这样 但你明白了 Foo1 Foo2 Foo3 Barbar Barbar Bar bar Bar BarBar Bar b
  • 添加新项目时更新列表

    使用 Angular 7 我有以下服务 StackBlitz 示例 https stackblitz com edit mk angular sync list Injectable providedIn root export class
  • Plon:如何对文件夹项目进行排序

    我有一个名为myfolder 里面有一些项目 例如 item1 item2 item3 等等 当我添加 portlet 时Navigation到页面左栏 并输入到文件夹中myfolder 它向我展示了 portlet 上的链接 如下所示 i
  • 如何将变量和数据从 PHP 传递到 JavaScript?

    想要改进这篇文章吗 提供此问题的详细答案 包括引用和解释为什么你的答案是正确的 不够详细的答案可能会被编辑或删除 我在 PHP 中有一个变量 我在 JavaScript 代码中需要它的值 如何将我的变量从 PHP 转换为 JavaScrip
  • 使用 JPA 和 Hibernate 在 Persistence.xml 中配置 C3P0

    好吧 我第一次尝试使用 JPA Hibernate Spring 配置 C3P0 在 persistence xml 我有
  • pickerInput 默认选择所有选项

    我有大约十几个 pickerInputs 每次我运行我的闪亮应用程序时 所有内容都设置为没有选择 在输出工作之前我必须手动选择所有内容 这有点烦人 有没有办法让 pickerInput 在每次应用程序运行时默认 全选 您可以使用select
  • JavaScript 在 IE8 中不起作用

    我试图在页面加载时动态创建这个 html 元素 但是 当我运行它时 代码在 IE8 上不起作用 但在 Firefox safari 和其他浏览器中可以 function getmovie var container document get
  • React Hook - 只监听窗口 *宽度* 大小的变化

    我有一个可以听的钩子window resize事件 我只想听并更新window innerWidth变化 我希望忽略更改window innerHeight因为打开软键盘时会触发此操作 问题是 mediaSize 存储在我的 Redux S
  • 如何使用asp.net core razor Pages在CKEditor 5中上传图像

    ClassicEditor create document querySelector News Body language fa ckfinder uploadUrl URL catch error gt console error er