错误Laravel 5.4将.docs上传为.bin

时间:2017-07-27 19:12:18

标签: php laravel file-upload

我正在制作资源文档以在我的服务器上传文件,并且它在大多数情况下工作正常,我可以毫无问题地上传图像和pdf,但在尝试上传.doc或.docx时它会上传为。 bin文件。我不知道为什么。

这是我在控制器中上传文件

public function store(Request $request) {

    $extension = $request->file('document')->guessClientExtension();

    //the store method returns a path to the file, 
    $path = $request->file('document')->store('public/documents');
    $name = $request->input('name');
    echo($extension);die;

当回应扩展时,它说" bin"并且该文件实际上存储为.bin但该文件是.doc

我可以使用相同的功能上传pdfs和.jpgs而没有问题,我希望你们能帮助我

提前致谢

1 个答案:

答案 0 :(得分:1)

如果仍然有人遇到此问题,则只需采用以下原始扩展名和文件名即可:

// we need original extension in case we change our filename
$extension = $request->resume->getClientOriginalExtension();
$filename = $request->resume->getClientOriginalName();

// and use `storeAs` method in this case and give filename as a second parameter
$request->file('document')->storeAs('public/documents', $filename);
  

在某些MIME类型的情况下,Laravel无法获得正确的文件扩展名,因此我们必须提醒它原始扩展名是什么。