laravel实现上传图片的两种方式小结

时间:2022-07-27
本文章向大家介绍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实现上传图片的两种方式小结就是小编分享给大家的全部内容了,希望能给大家一个参考。