laravel裡面一個上傳圖片的介面,並建立軟連結,訪問圖片
阿新 • • 發佈:2019-02-17
我們同時上傳的還有暱稱,圖片是儲存在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裡面生成儲存圖片的資料夾,就可以通過地址訪問了