laravel实现上传图片,并且制作缩略图,按照日期存放的代码 Laravel  /  管理员 发布于 8年前   528
先上代码吧:前端代码:有很多小伙伴在做表单上传文件的时候没有注意表单的上传格式是什么,就可能导致上传文件、图片不成功!{{method_field('PUT')}}laravel里面使用method_field()函数来伪造一些http请求; 展示主图 * {!! csrf_field() !!}给表单加入token;后端处理:首先我使用的是Intervention Image类库来制作图片的缩略图、以及保存图片到指定位置;关于Intervention Image类库我就不多做介绍,如有不了解的请度娘帮助;all(); $rules = [ 'main_img' => [ 'file','image','max:10240' ] ]; $validator = Validator::make($inputData,$rules); if($validator->fails()){ return back()->withErrors($validator)->withInput(); } $photo = $inputData['main_img']; $file_name = uniqid().'.'.$photo->getClientOriginalExtension(); $file_relative_path = 'assess/images/content/'.date('Y-m-d'); $file_path = public_path($file_relative_path); if (!is_dir($file_path)){ mkdir($file_path); } $thumbnail_file_path = $file_path . '/thumbnail-'.$file_name; $image = Image::make($photo)->resize(200, null, function ($constraint) {$constraint->aspectRatio();})->save($thumbnail_file_path); $file_path .= '/'.$file_name; $image = Image::make($photo)->save($file_path); echo ‘上传成功!'; }}后端处理主要思想:首先通过Validator类库来检验当前上传上来的文件是否符合要求,如果符合要求,就可以对图片进行处理了;处理的时候我是先把要保存图片的相对地址给拼接好,然后通过laravel里面的public_path函数得出绝对的local地址;再去判断该文件夹是否存在,如果不存在那就创建该文件夹。创建好文件夹后我们就应该对上传上来的图片进行进一步处理了,比如我这里需要制作它的缩略图,并且保证图片横纵比,如果有其他的要求,可以前往Intervention Image类库自行查看怎么制作。以上这篇laravel实现上传图片,并且制作缩略图,按照日期存放的代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。您可能感兴趣的文章:Laravel+Layer实现图片上传功能(整理篇)PHP Laravel 上传图片、文件等类封装laravel实现一个上传图片的接口,并建立软链接,访问图片的方法laravel 实现上传图片到本地和前台访问示例laravel实现上传图片的两种方式小结Laravel框架实现的上传图片到七牛功能详解laravel 多图上传及图片的存储例子laravel实现上传图片并在页面显示的例子laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子laravel框架上传图片实现实时预览功能laravel5.5框架的上传图片功能实例分析【仅传到服务器端】 上一条: laravel unique验证、确认密码confirmed验证以及密码修改验证的方法 下一条: 修改Laravel自带的认证系统的User类的命名空间的步骤 昵称: 邮箱: 0条评论 (评论内容有缓存机制,请悉知!)最新最热 分类目录 人生(杂谈) 技术 linux Java php 框架(架构) 前端 ThinkPHP 数据库 微信(小程序) Laravel Redis Docker Go swoole Windows Python 苹果(mac/ios) 相关文章 Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论) Laravel 11.14版本发布 - 新的字符串助手和ServeCommand改进(0个评论) Laravel 11.12版本发布 - Artisan的`make`命令自动剪切`.php `扩展(0个评论) Laravel的轻量型购物车扩展包:binafy/laravel-cart(0个评论) Laravel 11.11版本发布 - 查看模型中的第三方关系:show(0个评论) 近期文章 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论) 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论) 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论) gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论) 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论) 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论) Laravel从Accel获得5700万美元A轮融资(0个评论) 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论) 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论) PHP 8.4 Alpha 1现已发布!(0个评论) 近期评论 122 在学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人.. 123 在Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分.. 原梓番博客 在在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。.. 博主 在佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章.. 1111 在佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光.. 文章归档 2016-10 2016-11 2017-07 2017-08 2020-03 2020-04 2020-05 2020-06 2020-07 2020-08 2020-09 2020-10 2020-11 2021-01 2021-02 2021-03 2021-04 2021-05 2021-06 2021-07 2021-08 2021-09 2021-10 2021-11 2021-12 2022-01 2022-02 2022-03 2022-04 2022-05 2022-06 2022-07 2022-08 2022-09 2022-10 2022-11 2022-12 2023-01 2023-02 2023-03 2023-04 2023-05 2023-06 2023-07 2023-08 2023-09 2023-10 2023-11 2023-12 2024-01 2024-02 2024-03 2024-04 2024-05 2024-06 2024-07 Top
先上代码吧:
前端代码:
有很多小伙伴在做表单上传文件的时候没有注意表单的上传格式是什么,就可能导致上传文件、图片不成功!
给表单加入token;
后端处理:
首先我使用的是Intervention Image类库来制作图片的缩略图、以及保存图片到指定位置;
关于Intervention Image类库我就不多做介绍,如有不了解的请度娘帮助;
all(); $rules = [ 'main_img' => [ 'file','image','max:10240' ] ]; $validator = Validator::make($inputData,$rules); if($validator->fails()){ return back()->withErrors($validator)->withInput(); } $photo = $inputData['main_img']; $file_name = uniqid().'.'.$photo->getClientOriginalExtension(); $file_relative_path = 'assess/images/content/'.date('Y-m-d'); $file_path = public_path($file_relative_path); if (!is_dir($file_path)){ mkdir($file_path); } $thumbnail_file_path = $file_path . '/thumbnail-'.$file_name; $image = Image::make($photo)->resize(200, null, function ($constraint) {$constraint->aspectRatio();})->save($thumbnail_file_path); $file_path .= '/'.$file_name; $image = Image::make($photo)->save($file_path); echo ‘上传成功!'; }}
后端处理主要思想:首先通过Validator类库来检验当前上传上来的文件是否符合要求,如果符合要求,就可以对图片进行处理了;处理的时候我是先把要保存图片的相对地址给拼接好,然后通过laravel里面的public_path函数得出绝对的local地址;再去判断该文件夹是否存在,如果不存在那就创建该文件夹。创建好文件夹后我们就应该对上传上来的图片进行进一步处理了,比如我这里需要制作它的缩略图,并且保证图片横纵比,如果有其他的要求,可以前往Intervention Image类库自行查看怎么制作。
以上这篇laravel实现上传图片,并且制作缩略图,按照日期存放的代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
昵称:
邮箱:
122 在
123 在
原梓番博客 在
博主 在
1111 在
Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号