使用 storeAs 时 windows 中的路径问题 - Laravel 5.4

Path issues in windows when using storeAs - Laravel 5.4

我正在尝试使用 storeAs() 将文件上传到 public/attachments/foo.jpg Laravel,它在 ubuntu 中正常工作,但在 windows 中不正常。

if($isValidated){

    $newFileName = '';
    foreach($files as $upload){

        $fileName = preg_replace('/\s+/', '_', pathinfo($upload->getClientOriginalName())['filename']);

        $newFileName = $fileName.'_'.$upload->uploadTime.'.'.$upload->getClientOriginalExtension();

        $upload->storeAs('public/attachments', $newFileName);

    }

}

此代码块在 /public/attachments/foo.jpg 中成功上传文件 但是当我在 windows 平台上尝试这个时,我收到一条错误消息 fopen ... failed to open stream : Invalid aruguments.

我附上了错误的screenshot。

注意:

  1. 我已经像这样添加了符号链接php artisan:storage link

  2. 使用Laravel 5.4

问题出在文件名上。它包含一个冒号 :,这在 Windows.

上是不允许的