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读取图片内容并输出到浏览器的实现代码
Aug 08 PHP
php二分查找二种实现示例
Mar 12 PHP
Mac OS下配置PHP+MySql环境
Feb 25 PHP
使用 PHPStorm 开发 Laravel
Mar 24 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
Apr 22 PHP
PHP MySql增删改查的简单实例
Jun 21 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
Jul 08 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
利用PHP判断文件是否为图片的方法总结
Jan 06 PHP
PHP静态成员变量
Feb 14 PHP
php高清晰度无损图片压缩功能的实现代码
Dec 09 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
Jul 03 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
thinkphp缓存技术详解
2014/12/09 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
php获取图片信息的方法详解
2015/12/10 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
总结一些js自定义的函数
2006/08/05 Javascript
通用JS事件写法实现代码
2009/01/07 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
ExtJS4中的requires使用方法示例介绍
2013/12/03 Javascript
使用js判断当前时区TimeZone是否是夏令时
2014/02/23 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
jquery 实现输入邮箱时自动补全下拉提示功能
2015/10/04 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
webstorm添加*.vue文件支持
2018/05/08 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
2020/02/05 Javascript
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
python3 模拟登录v2ex实例讲解
2017/07/13 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
Python SMTP发送电子邮件的示例
2020/09/23 Python
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
管理信息系学生的自我评价
2014/01/11 职场文书
三年级学生评语
2014/04/23 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
Python OpenCV快速入门教程
2021/04/17 Python
用python画城市轮播地图
2021/05/28 Python
浅谈MySQL中的六种日志
2022/03/23 MySQL
教你使用Ubuntu搭建DNS服务器
2022/09/23 Servers