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 相关文章推荐
攻克CakePHP系列二 表单数据显示
Oct 22 PHP
PHP 分页原理分析,大家可以看看
Dec 21 PHP
使用PHP编写的SVN类
Jul 18 PHP
微信支付开发教程(一)微信支付URL配置
May 28 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
Nov 11 PHP
php绘制一个扇形的方法
Jan 24 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
windows下安装php的memcache模块的方法
Apr 07 PHP
一个简单至极的PHP缓存类代码
Oct 23 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
PHP检测接口Traversable用法详解
Dec 29 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
Mar 30 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 按位与或 (^ 、&amp;)
2013/06/21 PHP
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
Javascript new关键字的玄机 以及其它
2010/08/25 Javascript
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
2015/08/20 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
2019/05/26 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
python中logging包的使用总结
2018/02/28 Python
Python的argparse库使用详解
2018/10/09 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
Python搭建代理IP池实现存储IP的方法
2019/10/27 Python
树莓派升级python的具体步骤
2020/07/05 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
公益活动策划方案
2014/01/09 职场文书
政府信息公开实施方案
2014/05/09 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
工作证明格式及范本
2014/09/12 职场文书
计划生育证明格式范本
2014/09/12 职场文书
幼儿园新学期开学寄语
2015/05/27 职场文书
小学毕业感言100字
2015/07/30 职场文书
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS