Laravel 8 指定一个文件名
如果您不想让应用在存储文件过程中自动生成文件名,您可以使用 storeAs
来实现之。该方法接受路径,文件名以及磁盘(可选)作为其参数:
$path = $request->file('avatar')->storeAs(
'avatars', $request->user()->id
);
您亦可使用 Storage
门面的 putFileAs
方法来实现与上述例子中相同的效果:
$path = Storage::putFileAs(
'avatars', $request->file('avatar'), $request->user()->id
);
注意:文件路径中的非打印字符和无效的 unicode 字符将会被自动移除。因此,您可能希望在将路径传递给 Laravel 的文件存储方法前对其进行清理,您可以使用
League\Flysystem\Util::normalizePath
方法对其进行规范。