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 session和cookie使用说明
Apr 07 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 PHP
探讨php中遍历二维数组的几种方法详解
Jun 08 PHP
ThinkPHP框架实现session跨域问题的解决方法
Jul 01 PHP
CI框架验证码CAPTCHA辅助函数用法实例
Nov 05 PHP
PHP图片处理之图片旋转和图片翻转实例
Nov 19 PHP
php实现在服务器上创建目录的方法
Mar 16 PHP
php 实现一个字符串加密解密的函数实例代码
Nov 01 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
Yii框架响应组件用法实例分析
Sep 04 PHP
Laravel统计一段时间间隔的数据方法
Oct 09 PHP
PHP的new static和new self的区别与使用
Nov 27 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 使用redis简单示例分享
2015/03/05 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
农历与西历对照
2006/09/06 Javascript
javascript获取form里的表单元素的示例代码
2014/02/14 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
利用Vue v-model实现一个自定义的表单组件
2017/04/27 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
使用vue-router与v-if实现tab切换遇到的问题及解决方法
2018/09/07 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
纯js实现无缝滚动功能代码实例
2020/02/21 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
python中yaml配置文件模块的使用详解
2018/04/27 Python
Flask框架WTForm表单用法示例
2018/07/20 Python
详解如何设置Python环境变量?
2019/05/13 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
python 实现批量图片识别并翻译
2020/11/02 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
大学生就业推荐信范文
2013/11/29 职场文书
自我评价如何写好?
2014/01/05 职场文书
优秀教师事迹简介
2014/02/02 职场文书
针对吵架老公保证书
2015/05/08 职场文书
如何书写授权委托书?
2019/06/25 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS
Nginx访问日志及错误日志参数说明
2021/03/31 Servers
python实现过滤敏感词
2021/05/08 Python
python​格式化字符串
2022/04/20 Python