[英]How to add a variable (id) to send when uploading image in CKeditor 4
我正在使用 Laravel 7。我在沒有插件的情況下獲得了上傳圖像的代碼,但我現在的問題是添加一個 id(變量)以及來自 CKeditor 4 的 3 個變量默認值一起傳遞。
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
id(變量)是我想要關聯的照片的產品的 id(外鍵)。
我怎樣才能實現這一目標或任何想法我應該從哪里開始?
這是我的代碼:
Controller:
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>
這是我的路線:我試過這個,但 id 沒有通過
Route::post('/products/save-ckeditorproductphoto', 'ProductphotosController@upload')->name('save-ckeditorproductphoto');
我不知道ckfinder,但我只知道當我使用上傳名稱作為function 來接收來自fileBrowserUrl 的$request 時。
如果您只需要id
為什么不在route
中傳遞它
filebrowserUploadUrl: "{{route('save-ckeditorproductphoto', [$some_id,'_token' => csrf_token())}}"
文檔說路由助手可以采用數組上的任何參數
Route::post('/products/save-ckeditorproductphoto/{product}', 'ProductphotosController@upload')->name('save-ckeditorproductphoto');
並修改您上傳的 controller 之類的
public function upload(Request $request, Product $product){ ... }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.