在 Laravel 中上传图片

我想将一个类似于个人资料图像的图像上传到我正在处理的项目中。我不想要多个可以同时上传的图像。上传新图像时必须删除以前的图像。有人可以帮我吗?

我是 Laravel 的新手。


温温酱
浏览 172回答 2
2回答

米脂

我和其他一些领域都是这样做的。现在解决了:public function update(Request $request){    request()->validate([        'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',        'file' => 'required|max:100000|mimes:doc,docx,pdf',        'email' => 'required|email',    ]);    $peoples = People::find($request->id);    $peoples->Name = $request->name;    $peoples->Email = $request->email;    $peoples->Address = $request->address;    if ($request->hasFile('image')) {        if ($peoples->image) {            File::delete(public_path($peoples->image));        }        $imageName = time() . '.' . request()->image->getClientOriginalExtension();        request()->image->move(public_path('images/'), $imageName);        $peoples->image = $imageName;    }    if ($request->hasFile('file')) {        if ($peoples->File) {            File::delete(public_path($peoples->File));        }        $fileName = time() . '.' . request()->file->getClientOriginalExtension();        request()->file->move(public_path('files/'), $fileName);        $peoples->File = $fileName;    }    $peoples->update();    $peoples->save();}

侃侃尔雅

您可以使用这些作为参考。这是为了存储数据。public function store(Request $request){    $input = $request->all();    //handle file upload    if ($request->hasFile('partner_img')) {        $fileNameWithExt = $request->file('partner_img')->getClientOriginalName();        $filename = pathinfo($fileNameWithExt, PATHINFO_FILENAME);        $extension = $request->file('partner_img')->getClientOriginalExtension();        $partner_img = $filename . '_' . time() . '.' . $extension;        $path = $request->file('partner_img')->move('images/partners', $partner_img);        $input['partner_img'] = $partner_img;    } else {        $package_img = 'noimage.jpg';    }    $partner = $this->partnerRepository->create($input);    Flash::success('Partner saved successfully.');    return redirect(route('partners.index'));}这是为了更新。公共函数更新($id,请求 $request){ $input = $request->all(); $partner = $this->partnerRepository->findWithoutFail($id);    if (empty($partner)) {        Flash::error('Partner not found');        return redirect(route('partners.index'));    }    if ($request->hasFile('partner_img')) {        $fileNameWithExt = $request->file('partner_img')->getClientOriginalName();        $filename = pathinfo($fileNameWithExt, PATHINFO_FILENAME);        $extension = $request->file('partner_img')->getClientOriginalExtension();        $new_partner_img = $filename . '_' . time() . '.' . $extension;        $path = $request->file('partner_img')->move('images/partners', $new_partner_img);        Storage::delete('partners/'.$partner->partner_img);        $input['partner_img']= $new_partner_img;    }    $partner = $this->partnerRepository->update($input, $id);    Flash::success('Partner updated successfully.');    return redirect(route('partners.index'));}
打开App,查看更多内容
随时随地看视频慕课网APP