Laravel 5.5更新图片

时间:2018-01-29 16:00:38

标签: php laravel laravel-5

我创建了一个表单来更新表'组织者'。我的问题是图像不会更新。我已经在表单中添加了enctype="multipart/form-data"

如果我将图像的验证设置为required,则laravel会抛出错误“徽标必须是图像”。似乎我的ImageController没有获取图像文件。但是为什么Controller会获得所有其他数据,如描述,名称..?

表'组织者'中的所有其他数据正在更新而没有问题!

表格

    <form class="form" enctype="multipart/form-data" action="/organizer/update/{{ $organizer->id }}">
        <input type="hidden" name="_method" value="PUT">
        <input type="hidden" name="_token" value="{{ csrf_token() }}">
        ...
        other input fields...
        ...
        <label>Logo</label>
        <input type="file" name="logo" id="logo" accept="image/*"/>

        <button class="btn-add" type="submit">@lang('Save')</button>
        </form>

控制器(仅用于更新图像的代码)

        if($request->hasFile('logo')){
        // ADD NEW lOGO
        $logo = $request->file('logo');
        $logo_name = $request->name.'_logo'.time().'.'.$logo->getClientOriginalExtension();
        $request->logo->move($destinationPath, $logo_name);
        $oldFilename = $organizer->logo;
        // UPDATE DATABASE
        $organizer->logo = $logo_name;
        // DELETE OLD lOGO
        Storage::disk('public')->delete("organizer/$oldFilename.jpg");
    }

0 个答案:

没有答案