1. 程式人生 > >laravel裡面一個上傳圖片的介面,並建立軟連結,訪問圖片

laravel裡面一個上傳圖片的介面,並建立軟連結,訪問圖片

我們同時上傳的還有暱稱,圖片是儲存在resource表裡面,,對應在userProfile有關聯id;

利用laravel自帶上傳很方便,,但是不能直接訪問,,所以需要建立軟連結:

PHP artisan storage:link

執行該條命令會在public裡面生成儲存圖片的資料夾,就可以通過地址訪問了


public function uploadAvatar(Request $request)
{
    $validator = Validator::make($request->all(), [
        'nickname' => 'required|string|max:8'
, 'avatar' => 'required', ]); if ($validator->fails()) { return $this->responseForJson(ERR_ACCESS_DENID, $validator->errors()); } $user_id=Auth::id(); $avatar = $request->file('avatar')->store('/public/'.date('Y-m-d').'/avatars'); $avatar = Storage::url($avatar); $resource
=Resource::insertGetId(['type'=>1,'resource'=>$avatar]); $Data=['user_id'=>$user_id,'avatar'=>$resource,'nickname'=>$request->nickname]; try { $edit = UserProfile::where('user_id',$user_id)->update($Data); if ($edit) { return $this->responseForJson(ERR_OK,
'upload success'); } return $this->responseForJson(ERR_CREATE, 'upload fail'); }catch (\Exception $exception) { return $this->responseForJson(ERR_ACCESS_DENID, $exception->getMessage()); }

}

我們同時上傳的還有暱稱,圖片是儲存在resource表裡面,,對應在userProfile有關聯id;

利用laravel自帶上傳很方便,,但是不能直接訪問,,所以需要建立軟連結:

PHP artisan storage:link

執行該條命令會在public裡面生成儲存圖片的資料夾,就可以通過地址訪問了