laravel 实现上传图片到本地和前台访问示例


Posted in PHP onOctober 21, 2019

在config下新建文件admin.php,定义上传文件的路径

'upload_img_path' =>'app/public/img',//本地上传图片路径

'upload_file_path' =>'app/public/files'//本地上传文件路径

在config/filesystems.php下定义

'disks' => [
 'uploadimg'=>[
  'driver'=>'local',
  'root'=>storage_path(config('admin.upload_img_path'))
 ],
 'uploadfiles'=>[
  'driver'=>'local',
  'root'=>storage_path(config('admin.upload_file_path'))
 ],

 'local' => [
  'driver' => 'local',
  'root' => storage_path('app'),
 ],

 'public' => [
  'driver' => 'local',
  'root' => storage_path('app/public'),
  'url' => env('APP_URL').'/storage',
  'visibility' => 'public',
 ],

 's3' => [
  'driver' => 's3',
  'key' => env('AWS_KEY'),
  'secret' => env('AWS_SECRET'),
  'region' => env('AWS_REGION'),
  'bucket' => env('AWS_BUCKET'),
 ],

],

后台上传方法

public function uploadImg(Request $request){

 $wenjian= $request->file('files');
 if ($wenjian) {

  //获取文件的原文件名 包括扩展名
  $yuanname= $wenjian->getClientOriginalName();

  //获取文件的扩展名
  $kuoname=$wenjian->getClientOriginalExtension();

  //获取文件的类型
  $type=$wenjian->getClientMimeType();

  //获取文件的绝对路径,但是获取到的在本地不能打开
  $path=$wenjian->getRealPath();

  //要保存的文件名 时间+扩展名
  $filename=date('Y-m-d') . '/' . uniqid() .'.'.$kuoname;
  //保存文件   配置文件存放文件的名字 ,文件名,路径
  $bool= Storage::disk('uploadimg')->put($filename,file_get_contents($path));
  //return back();
  return json_encode(['status'=>1,'filepath'=>$filename]);
 }else{
  $idCardFrontImg = '';
  return json_encode($idCardFrontImg);
 }
}

前台显示

<img src="/storage/img/2018-04-27/5ae294e2830df.jpeg">

在写接口上传的照片如何保存到public让前端框架访问到,,就要建立软连接将照片放到public目录去访问! 很简单

执行命令:php artisan storage:link

命令执行完毕后,就会在项目里多出一个 public/storage,

这个 storage 就是一个软链接,它指向 storage/app/public 目录。

public/storage(软连接) → storage/app/public

然后就可以用地址直接访问public里面的照片了!

以上这篇laravel 实现上传图片到本地和前台访问示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php下MYSQL limit的优化
Jan 10 PHP
php读取数据库信息的几种方法
May 24 PHP
PHP setcookie() cannot modify header information 的解决方法
Jan 09 PHP
mac下使用brew配置环境的步骤分享
May 23 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
PHP输出一个等腰三角形的方法
May 12 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
Nov 04 PHP
PHP随机数 C扩展随机数
May 04 PHP
PHP+JQuery+Ajax实现分页方法详解
Aug 06 PHP
PHP合并数组函数array_merge用法分析
Feb 17 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
Laravel框架中缓存的使用方法分析
Sep 06 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 #PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 #PHP
关于laravel-admin ueditor 集成并解决刷新的问题
Oct 21 #PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 #PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
Oct 20 #PHP
laravel 解决路由除了根目录其他都404的问题
Oct 18 #PHP
Laravel基础-关于引入公共文件的两种方式
Oct 18 #PHP
You might like
PHP 图片上传代码
2011/09/13 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
smarty自定义函数用法示例
2016/05/20 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
js表数据排序 sort table data
2009/02/18 Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
2015/04/07 Javascript
JavaScript整除运算函数ceil和floor的区别分析
2015/04/14 Javascript
JavaScript中split() 使用方法汇总
2015/04/17 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
2016/08/23 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
vuejs2.0运用原生js实现简单拖拽元素功能
2020/08/21 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
Python处理Excel文件实例代码
2017/06/20 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
实习自我鉴定
2013/12/15 职场文书
个人简历中自我评价
2014/02/11 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
职务说明书范文
2014/05/07 职场文书
铣床操作工岗位职责
2014/06/13 职场文书
教师作风整改措施思想汇报
2014/10/12 职场文书
2014年仓库保管员工作总结
2014/12/03 职场文书
北京故宫导游词
2015/01/31 职场文书
自主招生推荐信怎么写
2015/03/26 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python