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伪静态页面函数附使用方法
Jun 20 PHP
将文件夹压缩成zip文件的php代码
Dec 14 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
php GUID生成函数和类
Mar 10 PHP
PHP设置进度条的方法
Jul 08 PHP
ThinkPHP实现递归无级分类――代码少
Jul 29 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
php安装dblib扩展,连接mssql的具体步骤
Mar 02 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
CI框架附属类用法分析
Dec 26 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 PHP
Laravel 5+ .env环境配置文件详解
Apr 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
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
PHP防盗链代码实例
2014/08/27 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
php格式文件打开的四种方法
2018/02/24 PHP
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
让AJAX不依赖后端接口实现方案
2012/12/03 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
2014/01/28 Javascript
中止javascript执行的方法
2014/02/14 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
仿iframe效果Aajx文件上传实例
2016/11/18 Javascript
JS实现线性表的链式表示方法示例【经典数据结构】
2017/04/11 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
微信小程序实现搜索功能
2020/03/10 Javascript
python常见的格式化输出小结
2016/12/15 Python
详解Python map函数及Python map()函数的用法
2017/11/16 Python
python正则实现计算器功能
2017/12/14 Python
python+matplotlib演示电偶极子实例代码
2018/01/12 Python
Python爬虫PyQuery库基本用法入门教程
2018/08/04 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
Python如何重新加载模块
2020/07/29 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
HTML5 本地存储之如果没有数据库究竟会怎样
2013/04/25 HTML / CSS
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
《广玉兰》教学反思
2014/04/14 职场文书
优质护理服务演讲稿
2014/05/07 职场文书
给校长的建议书400字
2014/05/15 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2014年敬老院工作总结
2014/12/08 职场文书
《圆的面积》教学反思
2016/02/19 职场文书