图片加载不出来

我有一些代码来更改用户图像。但是更改后我必须按control+shift+R才能看到更改。


我换File::delete()到unlink()。但它没有用。


控制器代码:


public function index(){

    $id = Auth::id();

    $info = Admin::select('name', 'login', 'image')- 

    >where('id', $id)->first();


    return view('admin.index')->with('info', $info);

}


public function changes(Request $request){

    $this->validate($request,[

        'name'         => 'required',

        'login'        => 'required',

    ]);

    $login = Auth::user()->login;

    $admin =  Admin::where('login', $login)->first();



    if($admin){


        $admin->name = $request['name'];

        $admin->login = $request['login'];

        if(!is_null($request['old_password']) and !is_null($request['new_password'])){

            $this->validate($request,[

                'new_password'         => 'required',

                'old_password'        => 'required',

            ]);

            if(Hash::check($request['old_password'], Auth::user()->password)){

                $new_password = Hash::make($request['new_password']);

                $admin->password = $new_password;

            }

        }

        if(!is_null($request['profile_image'])){

            $this->validate($request,[

                'profile_image'         => 'image|mimes:jpeg,png,jpg',

            ]);


            if (!is_null(Auth::user()->image)) {


                $admin_image = public_path() .'/'. Auth::user()->image;

                if((File::exists($admin_image))){

                    File::delete($admin_image);

                }

            }

            $image = $request->file('profile_image');

            $image_extension = $image->getClientOriginalExtension();

            $image_name= Auth::id() .'.'. $image_extension;

            $image->move(public_path('admin_assets/assets/images/users'), $image_name);

            $admin->image = $image_name;


        }

        $admin->save();

    }

    return redirect()->route('admin.index');

}

我想我应该在索引操作中刷新公共文件夹,但是如何?


白板的微信
浏览 187回答 1
1回答

慕丝7291255

如果新的图像具有相同的URL(在你的情况相同的名称和路径)中的旧图像浏览器使用的是在他自己的高速缓存中的旧形象。除了要求用户按Ctrl+F5(或Ctrl+Shift+R)清除页面缓存外,此问题的最佳解决方案是:更改名称每个用户改变图像本身的时间到图像。将版本化的查询字符串(类似于?v=2)附加到图像URL以强制浏览器请求新图像:URL它与缓存中的所有内容不同,因此它被迫获取新资源。
打开App,查看更多内容
随时随地看视频慕课网APP