我正在尝试使用storeAs((将文件上传到Laravel中的public/attachments/foo.jpg,它在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.
我已附上错误的屏幕截图。
注:
我添加了类似
php artisan:storage link
的符号链接使用Laravel 5.4
问题出现在文件名中。它包含冒号:
,这在Windows上是不允许的。