javascript - summernote 0.8.8 onimageupload 示例

标签 javascript summernote

有没有人有使用 Summernote 0.8.8 将图像上传到服务器上的目录(不是 base64)的代码的好例子?我尝试了一些较旧的发布结果(它们可能适用于较旧版本的 Summernote),但对我来说没有任何效果。我不擅长 Java,所以我不确定如何解决这个问题。

Summernote 的网络示例是

$('#summernote').summernote({
  callbacks: {
    onImageUpload: function(files) {
      $summernote.summernote('insertNode', imgNode);
    }
  }
});

$('#summernote').on('summernote.image.upload', function(we, files) {
$summernote.summernote('insertNode', imgNode);
});

但这不起作用,因为图像没有“上传”,它仍在 Base64 中。这对我有用,因为它加载太慢了。谢谢!

最佳答案

针对 SUMMERNOTE 0.88+

我用这些 CDN 测试过它

<link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.8/summernote.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.8/summernote.min.js"></script>

JavaScript

<script>
    $(document).ready(function() {
        $('#summernote').summernote({
            height: "300px",
            dialogsInBody: true,
            callbacks: {
                onImageUpload: function(files) {
                    uploadFile(files[0]);
                }
            }
        });
    });

    function uploadFile(file) {
        data = new FormData();
        data.append("file", file);

        $.ajax({
            data: data,
            type: "POST",
            url: "upload_url_path", //replace with your url
            cache: false,
            contentType: false,
            processData: false,
            success: function(url) {
                $('#summernote').summernote("insertImage", url);
            }
        });
    }
</script>

用于上传的 PHP 示例代码

      <?php
      $allowed = array( 'png', 'jpg', 'gif' );
        if( isset($_FILES['file']) && $_FILES['file']['error'] == 0 ) {
            $extension = pathinfo( $_FILES['file']['name'], PATHINFO_EXTENSION );
            if( !in_array( strtolower( $extension ), $allowed ) ) {
                 echo 'AN ERROR OCCURED - INVALID IMAGE';
                exit;
            }
            if( move_uploaded_file( $_FILES['file']['tmp_name'], 'assets/images/'.$_FILES['file']['name'] ) ) {
                echo base_url().'assets/images/'.$_FILES['file']['name']; // echo absolute file_url
                exit;
            }
        }
        echo 'AN ERROR OCCURED';
        exit;
?>

https://summernote.org/deep-dive/#onimageupload

关于javascript - summernote 0.8.8 onimageupload 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46264048/

相关文章:

jquery - Summernote onKeyup 事件没有按预期工作

javascript - Summernote 获取我的 id 文本区域

javascript - CollectionFS Meteor、所见即所得、Summernote、图片上传

javascript - 如何通过javascript跨域返回html

javascript - d3.js 前置加号

javascript - 在 jQuery 中从头开始构建工具提示功能

javascript - 验证十六进制文本字段不起作用

javascript - Summernote OnImageUpload 未被执行

javascript - 如何设置编辑器的高度并同时填充?

javascript - 如何禁用 TinyMCE 确认对话框