首先在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. 哈工大同义词词林 python 使用范例

    哈工大的同义词词林,应该是上个世纪的产物,里面的词比较老旧,但好歹也能用 同义词词林的作用,跟word2vec的获取相近词函数比较类似,这两者发挥的功效比较,看具体的应用吧 1. 首先下载包含同义词的 ...

  2. (三)canvas绘制样式

    beginPath() 对画线点的一个开始限制 moveTo() 画线的起点,只在开头使用 参数两个x轴,y轴 lineTo() 后续连线 两个参数x轴,y轴 stroke() 连线无填充 fill( ...

  3. PHPCMS V9调用父栏目 顶级父栏目的代码

    一.调用父栏目 首先是列表页和二级栏目页list.html {$CATEGORYS[$top_parentid][catname]} //顶级父栏目名称 {$CATEGORYS[$CAT[parent ...

  4. net core集成CAP

    net core集成CAP https://www.cnblogs.com/guolianyu/p/9756941.html 一.前言 感谢杨晓东大佬为社区贡献的CAP开源项目,传送门在此:.NET ...

  5. C++多态技术

    转自:    http://blog.sciencenet.cn/blog-58025-691458.html 摘要 本文介绍了C++中的各种多态性,重点阐述了面向对象的动态多态和基于模板的静态多态, ...

  6. 使用OpenCV对图像进行缩放

    OpenCV:图片缩放和图像金字塔 对图像进行缩放的最简单方法当然是调用resize函数啦! resize函数可以将源图像精确地转化为指定尺寸的目标图像. 要缩小图像,一般推荐使用CV_INETR_A ...

  7. 重装Oracle时出现SID已存在问题的解决办法

    重装Oracle时出现SID已存在问题的解决办法    手机打开 注意安装oracle服务器的环境,不稳定导致数据库出现问题,后果很严重! 方法如下: 1.开始->设置->控制面板-&g ...

  8. Java基础总结大全

    一.基础知识: 1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平台,jvm不是跨平台的. J ...

  9. LeetCode Next Closest Time

    原题链接在这里:https://leetcode.com/problems/next-closest-time/description/ 题目: Given a time represented in ...

  10. FastAdmin 在线命令生成时出错的分析

    FastAdmin 在线命令生成时出错的分析 出错现象 版本环境 FastAdmin 版本:1.0.0.20180806_beta 在线命令插件版本:1.0.3 分析 2018-08-13 16:12 ...