Laravel 5.4:保存带有真实姓名的文件

ale*_*lex 3 local-storage laravel-5.4

Storage::disk('local')->put('myfiles/',$request->file)用来保存磁盘上的文件.但是Storage带有散列名称的保存文件.
如果您在最后一步查看源put返回putFileAs:

 public function putFile($path, $file, $options = [])
{
    return $this->putFileAs($path, $file, $file->hashName(), $options);
}
Run Code Online (Sandbox Code Playgroud)

如您所见,文件名由laravel创建.有没有办法用真正的文件名保存服务器上的文件?

Jes*_*ans 9

看看laravel文档

检索上载文件的原始名称

$name = Input::file('photo')->getClientOriginalName();
Run Code Online (Sandbox Code Playgroud)

试试这个: $request->getClientOriginalName();

编辑

一起保存就像这样

Storage::disk('local')->put('myfiles/' . $request->getClientOriginalName() . $request->getClientOriginalExtension() ,$request->file) 
Run Code Online (Sandbox Code Playgroud)

EDIT2

尝试使用laravel文档中PutFileAs描述的方法

  • 尝试使用laravel文档中描述的`PutFileAs`方法:https://laravel.com/docs/5.4/filesystem (3认同)