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 XPath对XML文件查找及修改实现代码
Jul 27 PHP
php在项目中寻找代码的坏味道(综艺命名)
Jul 19 PHP
php 解决旧系统 查出所有数据分页的类
Aug 27 PHP
zend optimizer在wamp的基础上安装图文教程
Oct 26 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
Apr 19 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
Oct 19 PHP
微信接口生成带参数的二维码
Jul 31 PHP
PHP使用Nginx实现反向代理
Sep 20 PHP
php通过header发送自定义数据方法
Jan 18 PHP
PHP耦合设计模式实例分析
Aug 08 PHP
php无限极分类实现方法分析
Jul 04 PHP
解析laravel使用workerman用户交互、服务器交互
Apr 28 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设计模式之责任链模式的深入解析
2013/06/13 PHP
php header功能的使用
2013/10/28 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
JavaScript Accessor实现说明
2010/12/06 Javascript
浅说js变量
2011/05/25 Javascript
JavaScript面向对象程序设计三 原型模式(上)
2011/12/21 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
JS常见问题整理(持续更新)
2013/08/06 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
jQuery实现select模糊查询(反射机制)
2017/01/14 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
Python列表推导式的使用方法
2013/11/21 Python
Python创建日历实例
2014/08/21 Python
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
如何在Django项目中引入静态文件
2019/07/26 Python
python 安装impala包步骤
2020/03/28 Python
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
eBay美国官网:eBay.com
2020/10/24 全球购物
音乐学个人的自荐书范文
2013/11/26 职场文书
教师岗位聘任书范文
2014/03/29 职场文书
新闻编辑求职信
2014/04/09 职场文书
工作分析计划书
2014/04/30 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
文明家庭事迹材料
2014/12/20 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA