2016-04-22 114 views
2

我遇到了问题summernote图片上传Summernote图片上传不起作用

我的脚本看起来有些东西是这样的:

<script> 
$(document).ready(function() { 

var IMAGE_PATH = 'http://localhost/dist/images/'; 

$('.summernote').summernote({ 
    height: 300, 
    callbacks : { 
     onImageUpload: function(image) { 
      uploadImage(image[0]); 
     } 
    } 
}); 

function uploadImage(image) { 
    var data = new FormData(); 
    data.append("image",image); 
    $.ajax ({ 
     data: data, 
     type: "POST", 
     url: "uploader.php", 
     cache: false, 
     contentType: false, 
     processData: false, 
     success: function(url) { 
      var image = IMAGE_PATH + url; 
      $('.summernote').summernote('insertImage', image); 
      }, 
      error: function(data) { 
       console.log(data); 
       } 
     }); 
    } 

}); 
</script> 

和uploader.php有以下代码:

<?php 
$image = $_FILES['image']['name']; 
$uploaddir = 'images/'; 
$uploadfile = $uploaddir . basename($image); 
if(move_uploaded_file($_FILES['image']['tmp_name'],$uploadfile)) { 
    echo $uploadfile; 
} else { 
    echo "Unable to Upload"; 
} 
?> 

图片文件成功上传到目录 '图像'。

但$('。summernote')。summernote('insertImage',image);不会将上传的图像链接追加到编辑器中。

我在想什么?是的,我试图提醒var'image',它具有所需的值。

回答

1

你可以试试:var IMAGE_PATH ='http://localhost/dist/'; 因为你的php代码:$ uploadfile =>'images/xxx.jpg',html网址使用了两次图像,比如../images/images/xxx.jpg。所以summernote图片上传不起作用! 谢谢!

这是我的代码

<script> 
 
$(document).ready(function() { 
 

 
var IMAGE_PATH = 'http://localhost:81/summernote-develop/examples/'; 
 

 
$('.summernote').summernote({ 
 
    height: 300, 
 
    callbacks : { 
 
     onImageUpload: function(image) { 
 
      uploadImage(image[0]); 
 
     } 
 
    } 
 
}); 
 

 
function uploadImage(image) { 
 
    var data = new FormData(); 
 
    data.append("image",image); 
 
    $.ajax ({ 
 
     data: data, 
 
     type: "POST", 
 
     url: "uploader.php", 
 
     cache: false, 
 
     contentType: false, 
 
     processData: false, 
 
     success: function(url) { 
 
      var image = IMAGE_PATH + url; 
 
      $('.summernote').summernote('insertImage', image); 
 
\t \t \t //console.log(image); 
 
      }, 
 
      error: function(data) { 
 
       console.log(data); 
 
       } 
 
     }); 
 
    } 
 

 
}); 
 
</script>

php的代码为你一样。

和代码目录:d:\ WWW \ summernote-开发\例子\ 图片目录:d:\ WWW \ summernote-开发\例子\图像

0

好吧,我发现了一个自定义summernote.js具有此功能内置。

而且我的编辑,upload.php的文件看起来有点像这样:

<?php 
## This file is being used by 
##summer note for image upload call back. 

include_once("classes/class.connection.php"); 
include_once("classes/class.config.php"); 
include_once("classes/class.query.php"); 
include_once("classes/class.common.php"); 

$comObj = new common; 


if(empty($_FILES['file'])){ exit(); } 

$errorImgFile = $comObj->sObj->config['site_url']."/admin/img-uploads/img_upload_error.png"; 

    if (getimagesize($_FILES["file"]["tmp_name"]) !== false) 
    { 
     #Rename 
     $randomName = $comObj->randomkeys(20); 

     $thumbExt = $comObj->getExtension($_FILES['file']['name']); 

     $newName = $randomName.".".$thumbExt; 

     $destinationFilePath = './img-uploads/'.$newName; 

     $rawlocation = '/img-uploads/'.$newName; 



     if(!move_uploaded_file($_FILES['file']['tmp_name'], $destinationFilePath)){ 
      echo $errorImgFile; 
     } 
     else{ 
      echo $comObj->sObj->config['site_url']."/admin".$rawlocation; 
     } 


    }else{ 
     echo $errorImgFile; 
    } 
?>