В моем проекте Laravel (v5.8.x) я реализовал функцию загрузки изображений через CKEditor (v4.14.x).
Но я хочу сохранять и извлекать изображения из хранилища / wysiwyg / [AnyDir] путь.
У меня есть этот код с включенными фасадами хранилища:
public function upload(Request $request)
{
$destPath = storage_path() . DS . 'wysiwyg' . DS . '[AnyDir]';
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($destPath, $fileName);
$CKEditorFuncNum = $request->input('CKEditorFuncNum');
$url = Storage::url($fileName);
exit($url);
$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;
}
}
Но метод Storage::url
игнорирует подпапки wysiwyg
и [AnyDir]
, как мне получить полный URL-адрес хранилища вместе с вложенными папками в правильном порядке?