gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 08:35:20 26 4
gpt4 key购买 nike

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

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

最佳答案

How upload image in CKEditor 5 With 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; }
}

测试结果

enter image description here

关于javascript - 如何使用asp.net core razor Pages在CKEditor 5中上传图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63977698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com