首先在filesystems.php 配置好上传的文件的目录起名为upload

在Storage/目录下面

目录下面的app/upload 如果没有这个文件会自动创建

这里的名字upload名字是跟控制器中的保存代码对应的名字是一样的

$bool= Storage::disk('upload')->put($filename,file_get_contents($path));

(2)写一个form表单里面input的类型为file

文件上传不能忘了表单提交里面要加这个


enctype="multipart/form-data"

这是模板的部分


<form action="/user/1/store" method="POST" enctype="multipart/form-data">
{{csrf_field()}} <input type="file" name="file" id="file" /> <input type="submit" value="提交修改">
</form>
路由

Route::post('user/{user}/store','\App\Http\Controllers\UserController@updateStore');

控制器

use Illuminate\Support\Facades\Storage;

public function updateStore(Request $request)
{
$wenjian= $request->file('file');
if ($wenjian->isValid()) { //获取文件的原文件名 包括扩展名
$yuanname= $wenjian->getClientOriginalName(); //获取文件的扩展名
$kuoname=$wenjian->getClientOriginalExtension(); //获取文件的类型
$type=$wenjian->getClientMimeType(); //获取文件的绝对路径,但是获取到的在本地不能打开
$path=$wenjian->getRealPath(); //要保存的文件名 时间+扩展名
$filename=date('Y-m-d-H-i-s') . '_' . uniqid() .'.'.$kuoname;
//保存文件 配置文件存放文件的名字 ,文件名,路径
$bool= Storage::disk('upload')->put($filename,file_get_contents($path));
return back();
}
}
默认的文件上传大小为2M 需要自己到php的文件夹下的php.ini

里面的post_max_size=2M 修改下并且重启阿帕奇

还有upload_max_filesize=2M 

然后目录下图片就会出来了
 七牛云
composer require itbdw/laravel-storage-qiniu

config/app.php 里面的 providers 加上一行  itbdw\QiniuStorage\QiniuFilesystemServiceProvider::class,

config/filesystems.php 里面的 disks数组加上

 'qiniu' => [
'driver' => 'qiniu',
'domain' => '88888888.bkt.clouddn.com', //你的七牛域名
'access_key'=> '', //AccessKey
'secret_key'=> '', //SecretKey
'bucket' => 'wl11', //Bucket名字你的储存空间的名字
],

 只要把disk('qiniu')改一下就OK了
然后控制器的代码还是一样的


上传OK!

但是文件上传到本地了之后我想要获取怎么办昵?直接获取stroage目录下,是获取不到的,只能获取到public目录下

这时候就需要在public目录下创建一个软连接到stroage/public这个目录下

用composer的命令

php artisan storage:link

这是时候public目录下就会出现一个超链接,这里面的内容是和storage/public目录下的内容是一样的

这样就可以轻松获取到了

但是在服务器上面你把这个软连接上传上去,centos不同步strange目录下的文件,

于是我重新执行了一下

php artisan storage:link
却发现一个问题就是提示我这个软链接已经存在,然后我把这个软链接删除了,从新执行,composer却报错了,我猜就是权限的问题,于是我就直接在public目录下创建一个软链接
建立软链接:ln -s /www/wwwroot/122.114.111.77/storage/app/public

然后再ll一下public目录

然后你把原来的strage改成public就ok了

												

laravel中的文件上传到本地+七牛云上传的更多相关文章

  1. Laravel-admin 七牛云上传文件到七牛云出现卡顿失败情况

    由于所做项目需要管理后台众多,所以选择了Laravel-admin后台框架进行开发.节省了权限控制以及页面处理等问题的时间 Laravel-admin文档地址 http://laravel-admin ...

  2. 七牛云上传视频并截取第一帧为图片(js实现)

    本文出自APICloud官方论坛, 感谢论坛版主 东冥羽的分享. 七牛云上传视频并截取第一帧作为视频的封面图. 使用js上传,模块videoPlayer截取第一帧(有专门的截图模块,但是我使用的有点问 ...

  3. ElementUI的Upload上传,配合七牛云储存图片

    七牛云服务器的储存区域 存储区域 地域简称 上传域名 华东 z0 服务器端上传:http(s)://up.qiniup.com 华东 z0 客户端上传: http(s)://upload.qiniup ...

  4. 上传视频到七牛云Django后端实现

    1.上传视频到七牛云django端实现 1.1 获取七牛云秘钥 https://portal.qiniu.com/user/key 1.2 在syl/settings.py中配置七牛云上传 参考官方 ...

  5. 七牛云-上传、删除文件,工具类(Day49)

    要求: 1. java1.8以上 2. Maven: 这里的version指定了一个版本范围,每次更新pom.xml的时候会尝试去下载7.5.x版本中的最新版本,你可以手动指定一个固定的版本. < ...

  6. thinkphp 中 使用七牛云上传

    利用七牛云私有空间存储文件 第一步,注册七牛云,创建空间,将空间设为私有 需要记下的东西: AK,SK,bucket 第二步配置ThinkPHP 在config.php添加 'UPLOAD_SITEI ...

  7. thinkphp3.2使用七牛云上传文件

    最近项目中用到了七牛云服务,来分享一下thinkphp使用七牛云来进行文件上传 1.首先在七牛云创建一个空间,例如空间名为test.获取secrectKey,accessKey 2.在thinkphp ...

  8. iOS 七牛云上传并获取图片----【客户端】

           最近做了七牛云存储的有关内容,涉及到与后台交互获取验证的token,无奈,后台自命清高,不与理会,没办法呀,于是自己搞呗.首先呢在在七牛上注册一个账号,然后呢添加一个存储空间这时候空间名 ...

  9. iUploader 2.0 七牛云上传工具

    iUploader 软件介绍: iUploader主要功能将文件上传至七牛云,返回 Markdown 格式的链接到剪贴板 功能介绍: 图片本地压缩 图片右键上传 图片截取上传 图片复制上传 图片拖拽上 ...

随机推荐

  1. PHP内核研究

    深入理解PHP内核:Think In PHP Internals(TIPI)是一个开源项目 ,分享PHP内部实现的细节,如内核,扩展等.官网见:http://www.php-internals.com ...

  2. Cisco DHCP 配置要点

    实验拓扑图:IOU5/6/7模拟主机 IOU1为DHCP服务器 IOU2为DHCP中继器 IOU3/4为局域网内的交换机 在IOU1中配置DHCP配置 IOU2作为DHCP中继,在E0/0.10和E0 ...

  3. bzoj 2734 集合选数

    Written with StackEdit. Description <集合论与图论>这门课程有一道作业题,要求同学们求出\(\{1, 2, 3, 4, 5\}\)的所有满足以 下条件的 ...

  4. P2P技术基础: 关于TCP打洞技术

    4 关于TCP打洞技术 建立穿越NAT设备的p2p的 TCP 连接只比UDP复杂一点点,TCP协议的“打洞”从协议层来看是与UDP的“打洞”过程非常相似的.尽管如此,基于TCP协议的打洞至今为止还没有 ...

  5. 模糊聚类算法(FCM)

    伴随着模糊集理论的形成.发展和深化,RusPini率先提出模糊划分的概念.以此为起点和基础,模糊聚类理论和方法迅速蓬勃发展起来.针对不同的应用,人们提出了很多模糊聚类算法,比较典型的有基于相似性关系和 ...

  6. 接口测试基础——第4篇logging模块

    Logging:日志记录是为了跟踪记录软件运行时,发生的事件,包括出错,提示信息等等. log日志级别:日志级别大小关系为:CRITICAL > ERROR > WARNING > ...

  7. 【转载】对一致性Hash算法,Java代码实现的深入研究

    原文地址:http://www.cnblogs.com/xrq730/p/5186728.html 一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细 ...

  8. ZenCoding[Emmet]語法簡介【轉】

    快速指南 下面是一些常用的Zen Coding功能,目前VS2013的Web Essentials插件已经支持. '#' 创建一个id特性 '.' 创建一个类特性 '[]' 创建一个自定义特性 '&g ...

  9. EL and JSTL(Jsp Standard Tag Libary)(转)

    一.什么是 EL 语言. 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语音. 二.EL 语言的作用. 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAS ...

  10. ①SpringCloud前序知识-CAP原则

    本文主要介绍SpringCloud里头一些常见的原理.定理等相关SpringCloud的技术知识 一.CAP原则 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性). ...