Summernote 将 "files" 字段添加到 POST

Summernote adds "files" field to POST

我正在尝试将 Summernote 用作表单中的增强文本区域字段。提交表单后,我将 $_POST 变量发送到我的 PHP 后端。在出现一些意外行为后,我尝试打印 $_POST 并注意到 Summernote 添加了 2 个字段 - 通常的表单字段(在本例中为 "description" 和 "files"。我没有在任何地方发现这种行为的记录,而且我没有在 Summernote 内部或外部使用任何文件上传,所以我相信这要么是一个奇怪的错误,要么是我在某处犯了一个错误。我可以很容易地解决这个问题,但我只是想知道我是否做错了什么 and/or 是否有办法阻止它这样做。

我正在使用 PHP 7.1,Summernote 0.8.15 的 BS4 版本,我没有收到任何控制台错误。

HTML/PHP:

<div class="form-group">
    <label for="summernote">Description</label>
    <textarea name="description" id="summernote" class="form-control"></textarea>
</div>

...

<?php
    if(!empty($_POST))
    {
        print_r($_POST); //Array ( other fields... [description] => test [files] => )
    }
?>

JS:

$('#summernote').summernote({
    height: 150,
    toolbar: [
        ['style', ['bold', 'italic', 'underline']],
        ['fontsize', ['fontsize']],
        ['color', ['forecolor']],
        ['para', ['ul', 'ol', 'paragraph']]
    ],
    fontSizes: ['14', '16', '18', '20', '24', '28', '32']
});

因此,通过一些研究,Summernote 似乎默认以 base64 格式提交图像和文件。即使您没有选择任何图像或文件,也会使用名为 'files' 的输入,这就是您在 post 数据中看到文件变量的原因。

在研究时发现了这些:

提及 base64: https://github.com/summernote/summernote/issues/72

关于如何不使用base64的问题: Summernote - Image url instead of Base64

什么是base64? What is base 64 encoding used for?