1. 程式人生 > 實用技巧 >laravel實現上傳圖片的兩種方式小結

laravel實現上傳圖片的兩種方式小結

第一:是laravel裡面自帶的上傳方式(寫在接口裡面的)

function uploadAvatar(Request $request)
 {
  $user_id = Auth::id();
  $avatar = $request->file('avatar')->store('/public/' . date('Y-m-d') . '/avatars');
  //上傳的頭像欄位avatar是檔案型別
  $avatar = Storage::url($avatar);//就是很簡單的一個步驟
  $resource = Resource::create(['type' => 1, 'resource' => $avatar, 'user_id' => $user_id]);
  if ($resource) {
   return $this->responseForJson(ERR_OK, 'upload success');
  }
 return $this->responseForJson(ERR_EDIT, 'upload fails');
 }

第二:通用的上傳方式

function upload_img($file)
{
 $url_path = 'uploads/cover';
 $rule = ['jpg', 'png', 'gif'];
 if ($file->isValid()) {
  $clientName = $file->getClientOriginalName();
  $tmpName = $file->getFileName();
  $realPath = $file->getRealPath();
  $entension = $file->getClientOriginalExtension();
  if (!in_array($entension, $rule)) {
   return '圖片格式為jpg,png,gif';
  }
  $newName = md5(date("Y-m-d H:i:s") . $clientName) . "." . $entension;
  $path = $file->move($url_path, $newName);
  $namePath = $url_path . '/' . $newName;
  return $path;
 }
}

以上這篇laravel實現上傳圖片的兩種方式小結就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援碼農教程。