Laravel 5 覆盖summernote 图片上传
Posted
技术标签:
【中文标题】Laravel 5 覆盖summernote 图片上传【英文标题】:Laravel 5 override summernote Image upload 【发布时间】:2015-07-04 04:02:18 【问题描述】:我想用 laravel 5 方法 ajax 覆盖 Summernote 中的图像上传,但我无法让它工作。
这是我的 php 方法
public function ajaxImage()
$file = Input::file('image');
$destinationPath = public_path();
$filename = $file->getClientOriginalName();
if(Input::file('image')->move($destinationPath, $filename))
echo $destinationPath.$filename;
这是我的 jquery 代码:
$(document).ready(function()
$('#description').summernote(
height: 300,
onImageUpload: function(files, editor, welEditable)
sendFile(files[0], editor, welEditable);
);
function sendFile(file, editor, welEditable)
var data = new FormData();
data.append("file", file);
var url = '/articles/ajaximage';
$.ajax(
data: data,
type: "POST",
url: url,
cache: false,
contentType: false,
processData: false,
success: function(url)
alert('Success');
editor.insertImage(welEditable, url);
);
);
我在以下控制台中收到错误:
POST http://marcus.dev/articles/ajaximage 500(内部服务器错误)
【问题讨论】:
找到您的解决方案 .... somrat.info/summarnote-image-upload-with-laravel 请不要在问题标题中添加已解决。 【参考方案1】:对于summernote 0.6.9 版本,我们不能再在回调函数中使用编辑器了。
而不是
editor.insertImage(welEditable, url);
我用过
$('#summernote').summernote('editor.insertImage', url);
我不知道是否有更清洁的版本,但它似乎可以工作。
【讨论】:
对于summernote v0.8.11,正确的代码是:$('#summernote').summernote('insertImage', url);
documentation。另请注意,onImageInsert
现在需要位于 callbacks
对象内:$('#summernote').summernote( callbacks: onImageInsert: ... );
【参考方案2】:
我发现了..它是一个
“VerifyCsrfToken 中的TokenMismatchException”问题。
来源:http://laravel.io/forum/01-30-2015-laravel5-tokenmismatchexception-in-verifycsrftoken
我在主视图的标题中添加了这个:
<meta name="csrf-token" content=" csrf_token() " />
这在document.ready
之前的脚本中
$.ajaxSetup(
headers:
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
);
最后是php方法:
Route::post('ajaximage', function()
$file = Request::file('file');
$destinationPath = public_path().'/uploads/';
$filename = $file->getClientOriginalName();
$file->move($destinationPath, $filename);
echo url().'/uploads/'.$filename;
);
【讨论】:
以上是关于Laravel 5 覆盖summernote 图片上传的主要内容,如果未能解决你的问题,请参考以下文章
Summernote 显示在所有位置(Laravel 5.2)
Summernote 编辑器未打开(laravel 5.2)
如何在 laravel 5 中插入和更新图像 Summernote
Summernote(数据未保存在数据库中)(laravel 5.2)