Laravel文件上传只需上传.tmp文件

时间:2015-12-02 04:58:37

标签: php laravel-5.1 image-uploading

由于某种原因,这在我看来不起作用:

{!! Form::open(['url'=>'notes','file'=>true]) !!}

所以我只是用这个似乎让我更进一步:

{!! Form::open(['url'=>'notes','enctype'=>'multipart/form-data']) !!}

PostsController的商店方法中,我有以下内容:

    $file = Input::file('picture');
    $file->move(public_path(). /pictures/');

当我尝试上传.jpeg文件时,.tmp文件会上传到正确的文件夹,但它只是一个.tmp文件,上面写着:

  

“文件无法在编辑器中显示,因为它是   二进制,非常大或使用和不支持的文本编码。“

不确定为什么不上传.jpeg文件本身。

2 个答案:

答案 0 :(得分:3)

您可能想尝试这个

$file = Input::file('picture');
$destinationPath = public_path(). '/pictures/';
$filename = $file->getClientOriginalName();

Input::file('picture')->move($destinationPath, $filename);

答案 1 :(得分:0)

        if ($request->file('photo')) {
        $destinationPath = "packages/.../img/media/";

        if (!is_dir($destinationPath)) {
            mkdir($destinationPath, 0777, true);
        }
        $final_location = $destinationPath . "/";
        $request->file('photo')
        ->move($final_location, filename.'.'. $request->file('photo')
        ->getClientOriginalExtension());
        }