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 相关文章推荐
初学者入门:细述PHP4的核心Zend
Sep 05 PHP
PHP个人网站架设连环讲(四)
Oct 09 PHP
php escape URL编码
Dec 10 PHP
PHP 采集获取指定网址的内容
Jan 05 PHP
php去除重复字的实现代码
Sep 16 PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
php数组合并的二种方法
Mar 21 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
php使用pear_smtp发送邮件
Apr 15 PHP
PHP实现对xml的增删改查操作案例分析
May 19 PHP
实现laravel 插入操作日志到数据库的方法
Oct 11 PHP
php变量与字符串的增删改查操作示例
May 07 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封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
2012/08/14 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
jQuery+css实现炫目的动态块漂移效果
2016/01/28 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
原生JS实现$.param() 函数的方法
2018/08/10 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
vue+php实现的微博留言功能示例
2019/03/16 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
vue移动端下拉刷新和上滑加载
2020/10/27 Javascript
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
CentOS中升级Python版本的方法详解
2017/07/10 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
联想韩国官网:Lenovo Korea
2018/05/10 全球购物
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
护理专业优质毕业生自荐书
2014/01/31 职场文书
运动会闭幕词
2015/01/28 职场文书
党员承诺书范文2015
2015/04/27 职场文书
大学生社会实践活动总结报告
2015/05/06 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB