为了账号安全,请及时绑定邮箱和手机立即绑定

在 Laravel 中上传图片

在 Laravel 中上传图片

PHP
温温酱 2022-01-08 16:33:00
我想将一个类似于个人资料图像的图像上传到我正在处理的项目中。我不想要多个可以同时上传的图像。上传新图像时必须删除以前的图像。有人可以帮我吗?我是 Laravel 的新手。
查看完整描述

2 回答

?
米脂

TA贡献1836条经验 获得超3个赞

我和其他一些领域都是这样做的。现在解决了:


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();

}


查看完整回答
反对 回复 2022-01-08
?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

您可以使用这些作为参考。这是为了存储数据。


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'));

}


查看完整回答
反对 回复 2022-01-08
  • 2 回答
  • 0 关注
  • 171 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号