为什么 jpg 文件在 laravel 5.1 中保存为 tmp

why jpg file are saved as tmp in laravel 5.1

我正在尝试在管理面板中上传图片。但是这张图片正在上传为 tmp。

我需要在我的代码中添加一些其他代码吗?

public function store(Request $request)
{
    if ($request->hasFile('contents')) {
        $destinationPath = 'pictures/SliderImages';
        $files = $request->contents;
        $file_name = $files->getClientOriginalName();
        $files->move($destinationPath, $file_name);
        echo "Complete";
    } else {
        echo "No File";
    }

    $inputs = $request->all();
    $sliders = Sliders::Create($inputs);
    return redirect()->action('SliderController@index');
}

这是我的 blade:

                @foreach($sliders as $slider)
                    <tr>
                <td>{{$slider->id}}</td>
                <td>{{$slider->title}}</td>
                <td><img src="{{$slider->contents}}"></td>
                    </tr>
                @endforeach

this is result in phpmyadmin

你传给Sliders::Create$inputs好像是原来的$request参数?这可能不包括您对该上传文件所做的调整。

试试这个

$inputs = $request->all(); 
$inputs['contents'] = $file_name;    // add this line in your code

$sliders = Sliders::Create($inputs);
return redirect()->action('SliderController@index');