自定义文件名,同时保留扩展名

use*_*322 2 laravel laravel-5 laravel-5.3

遵循这部分文档:

https://laravel.com/docs/5.3/filesystem#file-uploads

我正在尝试存储文件(图像)并指定自定义文件名,但是我不想更改扩展名。

如果我做:

$request->file('avatar')->storeAs('avatars', 'custom_file_name');
Run Code Online (Sandbox Code Playgroud)

该文件将另存为custom_file_name(不带扩展名),而不是custom_file_name.png

如何在保留原始文件扩展名的同时指定自定义文件名?

Ale*_*nin 6

您可以通过以下方式获取上传文件的扩展名:

$extension = $request->photo->extension();
Run Code Online (Sandbox Code Playgroud)

并将其手动应用于存储的文件名。

UploadedFile班还包含用于访问文件的完全合格的路径和扩展方法。该extension方法将尝试根据其内容猜测文件的扩展名。

https://laravel.com/docs/5.4/requests#files