我怎样才能在 laravel 5.4 中获得正确的文件扩展名

How can i get the correct file extension in laravel 5.4

当我在 laravel 5.4 中上传 csv 文件时,我得到 'txt' 作为扩展名。有什么我想念的吗?

查看

{!! Form::open(['url' => 'transaction/save', 'files' => true]) !!}

{!! Form::file('batch'); !!}

{!! Form::submit('Upload') !!}

{!! Form::close() !!}

控制器

public function saveBatch(Request $request)
 {
        $file = $request->batch;
        $path = $request->batch->extension();

        dd($path);
 }

获取上传文件扩展名的最佳方法:(如果文件输入名称是file)

$extension = $request->file->extension();

您需要先移动该文件,否则该文件实际上是一个没有扩展名的临时文件。您还可以使用:

 $request->batch->getClientOriginalExtension();

这将 return 原始文件名的扩展名。更多方法位于:http://api.symfony.com/3.0/Symfony/Component/HttpFoundation/File/UploadedFile.html