ckeditor,ckfinder图像以blob形式上传到数据库

时间:2018-10-30 22:35:57

标签: c# asp.net-mvc ckeditor ckfinder ckeditor5

我有一个Web应用程序,使用ckeditor版本5(ClassicEditor)创建和设置正文内容以通过电子邮件发送通知。我正在努力上传图片。我不断收到错误消息:“此网站说...无法上传文件:imagename.jpg”

这个想法是我们将图像作为Blob保存到数据库,然后显示它们 在Web表单上创建和编辑期间,然后作为预览,最后应该通过将图像嵌入为文件附件(即src="cid:imageFileName")显示在电子邮件正文中。

关于为什么要将图像上传设置设置为blob的不可避免的问题:嗯,我们使用此功能的频率不足以保证获得付费版本;通过其他一些在线提供商设置一些私人在线图像托管帐户也是不可能的。

所以我需要提出自己的解决方案。这样的问题。我还没有找到可以帮助C#MVC的示例。我不熟悉PHP,也不熟悉其他任何编码语言。我将这些粘贴在一起。

到目前为止我所做的:

  1. 安装并使用ckeditor 5(See install instructions here,然后按照Zip下载说明进行操作)到目前为止,除图像之外,所有其他功能对我而言都有效。
  2. 先安装ckfinder(See install instructions found here,然后按照“安装必需的NuGet程序包”部分等等进行操作。在这行之间花了一些时间才能在Visual Studio 2017中安装它,因此安装程序不是完全如链接所示)
  3. 上传适配器documentation:不知道它会去哪里以及它是哪种语言。 Java脚本?
  4. FileLoader,FileRepository,documentation不知道如何实现此目的。默认情况下,这不是ckeditor的一部分吗?如果是这样,我认为我只需要以某种方式实现自定义上传适配器。
  5. 目前,除了图像上传过程外,html均以表单形式保存。

使用点2是另一回事。我还没有设法使它工作。我需要创建一个上传适配器。我不知道从哪里开始。

视图中的我的代码部分,(如果您忽略ckfinder的uploadUrl设置,则不确定如何工作):

<div class="form-group">
        @Html.LabelFor(model => model.NotificationMessage, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.TextAreaFor(model => model.NotificationMessage, 15, 300, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.NotificationMessage, "", new { @class = "text-danger" })
        </div>
    </div>
    <script type="text/javascript">
        // Rich Text Editor (CKEditor) Configuration
        ClassicEditor
            .create(document.querySelector('#NotificationMessage'), {
                ckfinder: {
                    uploadUrl: '~/ckfinder/connector?command=QuickUpload&type=Files&responseType=json'
                }
            })
            .then(editor => {
                console.log(editor);
            })
            .catch(error => {
                console.error(error);
            });
    </script>

总而言之,我需要帮助的是

  1. 通过自定义上传适配器将图像保存到数据库 (这将调用保存Blob的方法),然后返回图片 供视图使用)
  2. 在视图中显示保存的图像。
  3. 如何将图像附加到电子邮件正文?
  4. 关于如何在Web应用程序和电子邮件正文部分上保存和显示图像的其他建议。将图像保存到文件会更容易吗?

也许我宁愿将图像保存到网络上的共享文件夹位置,而是使用这些文件?为了使它正常工作,我首先需要保存图像才能工作。不知何故。

0 个答案:

没有答案