我正在使用Laravel 5.6进行管理面板,我遇到了productController --resource update的问题。
我的商店:
protected $appends = ['your_attribute_here'];
和我的更新:
public function getYourAttributeHereAttribute()
{
return "some value or model attribute";
}
商店部分正在运作但更新部分保存文件名数据库,但图片不会在images / urunler中移动。
我的php版本是7.2.4,我正在使用Laravel 5.6。
答案 0 :(得分:0)
删除这些代码。
$img = Image::make($file->getRealPath())->resize(590, 590)->insert(public_path('/images/urunler/' .$name));
$img->save(public_path('/images/urunler/' .$name));
之后。添加这些代码。
$location = public_path('/images/urunler/'.$name);
Image::make($file->getRealPath())->resize(590, 590)->save($location);
试一试。
解决方案:更改相关代码。
$location = public_path('/images/urunler/'.$name);
Image::make($file->getRealPath())->resize(590, 590)->save($location);
$urun->filename= $name;
然后添加
$this->validate(request(),[
'k_id' => 'required',
'ad' => 'required',
'form' => 'required',
'icerik' => 'required',
'ticari_sekli' => 'required',
'filename'=>'required' ]);
PS:必须只需要文件名。不需要|图像。它不是一个形象。它的名字。
之后请求文件名。像那样:$urun->filename= $name;
不要$urun->image= $name;
。因为没有$urun->image
。
答案 1 :(得分:0)
这对我有用:
if ($request->file('filename')) {
$file = $request->file('filename');
$destinationPath = $_SERVER['DOCUMENT_ROOT'] . '/images/urunler/';
$file->move($destinationPath, 'FILENAME.' . $file->getClientOriginalExtension());
}
只需将FILENAME
修改为您想要的文件名称,或将FILENAME
替换为$file->getClientOriginalName();
该文件将保存在public / images / urunler /文件夹
中修改
我能想到的最后一件事就是:在表格开放标记处enctype="multipart/form-data"
。这说明你的表单存在普通数据和可能的文件。可能仍然存在不允许的文件,因此也将files="true"
放在打开的表单中。