Laravel 的 Storage::makeDirectory returns mkdir:无效参数

Laravel's Storage::makeDirectory returns mkdir: invalid argument

因此,当有人上传视频时,我尝试在 C:/..../public/videos 文件夹中创建一个新目录,使用以下代码:

if ($request->hasFile('video')) {
    $newDir = public_path('videos\' . $story->story_id);
    Storage::makeDirectory( $newDir, 0755, true);
    $request->file('video')->move($newDir);
 }

但是我得到这个错误:

ErrorException in Local.php line 350: mkdir(): Invalid argument in Local.php line 350 at HandleExceptions->handleError('2', 'mkdir(): Invalid argument', 'C:\xampp\htdocs\qanda2\vendor\league\flysystem\src\Adapter\Local.php', '350', array('dirname' => 'C:\xampp\htdocs\qanda2\public\videos', 'config' => object(Config), 'location' => 'C:\xampp\htdocs\qanda2\storage\app\C:\xampp\htdocs\qanda2\public\videos', 'umask' => '0', 'visibility' => 'public')) at mkdir('C:\xampp\htdocs\qanda2\storage\app\C:\xampp\htdocs\qanda2\public\videos', '493', true) in Local.php line 350 at Local->createDir('C:\xampp\htdocs\qanda2\public\videos', object(Config)) in Filesystem.php line 259 at Filesystem->createDir('C:\xampp\htdocs\qanda2\public\videos') in FilesystemAdapter.php line 276

makeDirectory 似乎自动在我的路径前面添加了 C:\xampp\htdocs\qanda2\storage\app\

有什么解决方法吗?我已经为此苦苦挣扎了一段时间,但找不到有关此问题的任何信息。

要创建一个目录,你应该使用File,像这样:

if ($request->hasFile('video')) {
   $newDir = public_path('videos\' . $story->story_id);
   File::makeDirectory( $newDir, 0755, true);
   $request->file('video')->move($newDir);
}