首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Summernote图像上传错误

Summernote图像上传错误
EN

Stack Overflow用户
提问于 2015-10-05 11:38:32
回答 1查看 3.6K关注 0票数 1

我使用代码点火器、twitter引导程序和summernote作为我的WYSIWYG编辑器。我面临一些问题的图像上传。每当使用Summernote上传图像时,它都会以base64字符串序列化图像。base64字符串太长,不适合phpmyadmin中的文本数据类型。我想做的是,使用PHP函数上传图像,并将其url存储在数据库中而不是base64字符串中。我该怎么做?

关于文章,下面是代码,

代码语言:javascript
复制
$(function() {
  $('.summernote').summernote({
    height: 100,
    onImageUpload: function(files, editor, welEditable) {
            sendFile(files[0], editor, welEditable);
        }
  });
  function sendFile(file, editor, welEditable) {
        data = new FormData();
        data.append("files", file);
        upload_url = "<?php echo base_url(); ?>" + "dashboard/uploader/";
        $.ajax({
            data: data,
            type: "POST",
            url: upload_url,
            cache: false,
            contentType: false,
            processData: false,
            success: function(url) {
                editor.insertImage(welEditable, url);
            }
        });
    }
});

仪表板类中的uploader方法是我的php上传代码所在的地方。这是PHP代码,

代码语言:javascript
复制
public function uploader()
{
    $this->load->helper('file');
    if ($_FILES['files']['name']) {
        if (!$_FILES['files']['error']) {
            $name = md5(rand(100, 200));
            $ext = explode('.', $_FILES['files']['name']);
            $filename = $name . '.' . $ext[1];
            $destination = base_url().'uploads/' . $filename; 
            $location = $_FILES["files"]["tmp_name"];
            move_uploaded_file($location, $destination);
            echo base_url() . $filename; 
        }
        else
        {
          echo  $message = 'Ooops!  Your upload triggered the following error:  '.$_FILES['files']['error'];
        }
    }
}

每当我上传图片时,它都不会在wysiwyg编辑器中显示出来。我哪里出问题了?

现在看起来是这样的:

代码语言:javascript
复制
$(function() {
  $('.summernote').summernote({
    height: 100,
    onImageUpload: function(files) {
            sendFile(files[0]);
        }
  });
  function sendFile(file) {
        data = new FormData();
        data.append("files", file);
        upload_url = "<?php echo base_url(); ?>" + "dashboard/uploader/";
        $.ajax({
            data: data,
            type: "POST",
            url: upload_url,
            cache: false,
            contentType: false,
            processData: false,
            success: function(url) {
                 $(this).summernote("insertImage", url);
            }
        });
    }
});
EN

回答 1

Stack Overflow用户

发布于 2015-10-08 06:43:01

您使用的是哪一种版本的夏季便笺?最新的(0.6.16) summernote调用只有一个参数的自定义OnImageUpload函数-- files,没有editorwelEditable

请参阅:https://github.com/summernote/summernote/blob/v0.6.16/src/js/EventHandler.js#L117

请参考django-summernote

Summernote在0.6.5之后改变了处理图像的行为。见变化

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32947705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档