我正在尝试将网站中的Summernote用作现有视图和控制器的一部分,为此,我有以下代码
FileController:
public function getSummernoteeditor()
{
return view('announcements.details');
}
/**
*
* @return \Illuminate\Http\Response
*/
public function postSummernoteeditor(Request $request)
{
$this->validate($request, [
'detail' => 'required',
]);
$detail=$request->detail;
$dom = new \DomDocument();
$dom->loadHtml($detail, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$images = $dom->getElementsByTagName('img');
foreach($images as $k => $img){
$data = $img->getAttribute('src');
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
$image_name= "/upload/" . time().$k.'.png';
$path = public_path() . $image_name;
file_put_contents($path, $data);
$img->removeAttribute('src');
$img->setAttribute('src', $image_name);
}
$detail = $dom->saveHTML();
$summernote = new Summernote;
$summernote->post_content = $detail;
$summernote->user_id = Auth::user()->id;
$summernote->post_id = $request->route('id');
dd($summernote);
$summernote->save();
return view('announcements.details');
}
HomeController:
public function announcement($id, Request $request){
$announcements = Announcement::findOrFail($id);
$categories = Category::all();
$replies = Reply::all();
return view('announcements.details', compact('announcements', 'categories', 'replies'));
}
路线:
Route::get('/mededelingen/show/{id}', 'HomeController@announcement')->name('Mededelingen');
Route::get('/mededelingen/show/{id}',array('as'=>'summernoteeditor.get','uses'=>'HomeController@announcement'));
Route::post('/mededelingen/show/{id}',array('as'=>'editor.post','uses'=>'FileController@postSummernoteeditor'));
以及表单的开幕标签:
<form method="POST" action="{{ route('editor.post') }}">
我希望有人能够为我解决这个问题,如果需要查看更多代码,我很想听听!
答案 0 :(得分:1)
将表单更改为此:
<form method="POST" action="{{ route('editor.post', ['id' => $announcement->id]) }}">
本质上并不需要数组,而只是更清楚地显示哪个变量具有什么值。