laravel中的文件上传
首先,需要确定你的上传文件的类型.
如果你上传的是图片并且需要做一些修剪处理,请引入一个处理图片的类库:
composer require intervention/image
并且发布你的配置文件.
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"
记得在aliases数组中注册你的新类库组件:
'Image' => Intervention\Image\Facades\Image::class
下面演示如何在一个form表单中上传一个文件.
直接上代码:
这其中引入了一个form collective的类库 有兴趣的同学可以查询相关文档,
这里注意 上传文件一定要在表单中声明 from-data 否则你在服务器端接收到的就不会是一个file对象.
这一部分是前段代码 相信各位一看就知道是怎么回事.
上传文件比较需要注意的是后端部分.
后端处理代码如下.
首先 需要讲解一下 上传后的music它是一个fileupload对象通过调用getClientOriginalExtension()这个函数可以获得该上传文件的后缀名.
这里我写死了一个地方 如果上传的文件后缀名不是mp3直接就会被拒绝然后抛出一个错误
fileupload对象可以调用move()方法把上传后临时文件移动到服务器端的硬盘中这一行跑过去 文件就真正的被保存在服务器里了.
这样一个上传文件的操作就已经完成了.需要注意的是.如果你设置了文件上传的最大的大小,那么在服务器端会被拒绝.
这个人暂时没有 freestyle