Я использую laravel 7. Я получил код при загрузке изображения без плагина, но моя проблема сейчас заключается в добавлении id (переменной), переданной вместе с 3 переменными по умолчанию из CKeditor 4.
CKEditor=editor1&CKEditorFuncNum=1&langCode=en
Это переменные, передаваемые в «Строковых параметрах запроса»:
_token: PcQGTkcFguEY4dJeguWsaNo (sample token)
CKEditor: pDescription
CKEditorFuncNum: 1
langCode: en
Я хочу, чтобы URL стал таким с переменной «id»
Пример:
CKEditor=editor1&CKEditorFuncNum=1&langCode=en&id=1
Это переменные, которые я хочу передать в «Строковых параметрах запроса»: с переменной «id»
_token: PcQGTkcFguEY4dJeguWsaNo (sample token)
CKEditor: pDescription
CKEditorFuncNum: 1
langCode: en
id:1
Идентификатор ( переменная) - это идентификатор продукта, с которым я хочу связать фотографию. (внешний ключ)
Кто-нибудь может сказать мне, как достичь этого или любую идею, с чего мне начать? Я искал ответ на этот вопрос со вчерашнего дня.
Вот мой код:
Контроллер:
public function upload(Request $request)
{
if($request->hasFile('upload')) {
$originName = $request->file('upload')->getClientOriginalName();
$fileName = pathinfo($originName, PATHINFO_FILENAME);
$extension = $request->file('upload')->getClientOriginalExtension();
$fileName = $fileName.'_'.time().'.'.$extension;
$request->file('upload')->move(public_path('uploaded_productpictures'), $fileName);
$CKEditorFuncNum = $request->input('CKEditorFuncNum');
$url = asset('uploaded_productpictures/'.$fileName);
$msg = 'Image uploaded successfully';
$response = "<script>window.parent.CKEDITOR.tools.callFunction($CKEditorFuncNum, '$url', '$msg')</script>";
@header('Content-type: text/html; charset=utf-8');
echo $response;
// return response()->json([ 'fileName' => $filename, 'uploaded' => true, 'url' => $url, ]);
}
Вот код в javascript
<script src="{{ asset('ckeditor/ckeditor.js') }}"></script>
<script>
CKEDITOR.replace('pDescription', {
fileTools_requestHeaders: {
'X-CSRFToken': '{{ csrf_token() }}',
},
filebrowserUploadUrl: "{{route('save-ckeditorproductphoto', ['_token' => csrf_token() ])}}",
filebrowserUploadMethod: 'form'
});
</script>
И это мой маршрут: я пробовал этот, но идентификатор не проходит
Route::post('/products/save-ckeditorproductphoto', 'ProductphotosController@upload')->name('save-ckeditorproductphoto');
Я не знаю о ckfinder, но все, что я знаю, это когда я использую загрузить имя как функцию для получения запроса $ от fileBrowserUrl.