laravel5.5文件上传
/**
* 上传文件
* @param Request $request
* @return array
*/
public function upload(Request $request){
$folder = 'Uploads/'.date('Ymd');
if(!Storage::disk('public')->exists($folder)){
Storage::makeDirectory($folder);
}
$files = $request->allFiles();//获取所有文档
$fileid=[];
foreach ($files as $file){
if($file->isValid()) {
$newFileName = md5(microtime()) . '.' . $file->getClientOriginalExtension();
Storage::disk('public')->put($folder . '/' . $newFileName, file_get_contents($file));
//文件类型
$type = $file->getClientMimeType();
$size = $file->getSize();
$data = File::create(['filename' => $newFileName, 'filepath' => $folder,'md5' => '', 'mime' => $type, 'size' => $size]);
array_push($fileid,$data->id);
}
}
//return response
return ['fileid'=>implode(',',$fileid)];
}
/**
* 删除文件
* @param Request $request
* @return array
*/
public function destroy(Request $request)
{
$filename = explode(',',$request->input('filename'));
$files = File::whereIn('filename',$filename)->get();
$id = [];
foreach ($files as $file){
Storage::disk('public')->delete($file->filepath.'/'.$file->filename);
$id[] = $file->id;
}
$result = File::destroy($id);
if($result){
return redirect()->back()->with('success','删除成功');
}else{
return redirect()->back()->with('error','删除失败');
}
}
laravel5.5文件上传的更多相关文章
- 【技术博客】Laravel5.1文件上传单元测试
Laravel5.1文件上传单元测试 作者:ZGJ 在软工第三阶段中,我彻底解决了上一阶段一直困扰我的文件上传单元测试问题,在这里做一个总结. 注:下文介绍中,方法一方法二实现简单但有一定的限制条件( ...
- 【技术博客】 关于laravel5.1中文件上传测试的若干尝试
关于laravel5.1中文件上传测试的若干尝试 作者:ZGJ 版本:v1.0 PM注:本人这两天也正在尝试解决这一问题,如有进展将及时更新这一博客 在我们的软工第二阶段中,我开始着手进行后端控制器的 ...
- laravel5.2总结--文件上传
1 配置 文件系统的配置文件在 config/filesystems.php 文件中,此处我们新建一个uploads本地磁盘空间用于存储上传的文件,具体配置项及说明如下: <?php retur ...
- laravel5 文件上传
<!DOCTYPE html><html lang="zh-CN"><head> {{--设置字符编码--}} <meta charset ...
- Laravel5多图上传和Laravel5单图上传的功能实现
Laravel5文件上传默认只能上传一张图片,但是有的时候我们需要一次性上传多图就不行了,我在网上看了很多关于laravel5图片上传的文章,很多都只是介绍laravel5单图上传,多图片上传介绍少之 ...
- jquery.uploadify文件上传组件
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
- 11、Struts2 的文件上传和下载
文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...
- Java FtpClient 实现文件上传服务
一.Ubuntu 安装 Vsftpd 服务 1.安装 sudo apt-get install vsftpd 2.添加用户(uftp) sudo useradd -d /home/uftp -s /b ...
- 小兔Java教程 - 三分钟学会Java文件上传
今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...
随机推荐
- Selenium系列之--04 常见元素操作总结
一.Selenium总共有八种定位方法 By.id() 通过id定位 By.name() 通过name 定位 By.xpath() 通过xpath定位 By.className() 通过clas ...
- 【bzoj1015】【JSOI2008】【星球大战】【并查集+离线】
Description 非常久曾经.在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器.并攻下了星系中差点儿全部的星球.这些星球 ...
- The type java.lang.reflect.AnnotatedElement cannot be resolved. It is indirectly referenced from required .class files
我这个错误发生于导入项目的时候..我发现主要是jdk版本的问题.切换一下jdk.直接红叉消失就可以了.....jdk版本一致性还是很重要的
- 关于java及多线程
http://www.w3cschool.cc/java/java-multithreading.html
- 【大数据project师之路】Hadoop——MapReduce概述
一.概述. MapReduce是一种可用于数据处理的编程模型.Hadoop能够执行由各种语言编写的MapReuce程序.MapReduce分为Map部分和Reduce部分. 二.MapReduce的机 ...
- Xcode 中的小技巧
显示或隐藏欢迎页面 Command + Shift + 1 显示欢迎页 假设不想每次打开都显示,能够将上图中的勾去掉
- vim怎么把一个写的代码文件另存到任意文件夹里?
比如你要保存到以下路径: D:\my_project\project001\ 那么有两个方法: 1. 直接保存 2. w D:\my_project\project001\xxx.xxx 3. 变更当 ...
- Deep Learning 30: 卷积理解
一.深度卷积神经网络学习笔记(一): 1. 这篇文章以贾清扬的ppt说明了卷积的实质,更说明了卷积输出图像大小应该为: 假设输入图像尺寸为W,卷积核尺寸为F,步幅(stride)为S(卷积核移动的步幅 ...
- iOS SHA加密算法的实现
- (NSString *)SHAStringWithSourceData:(NSData *)data type:(SHAType)type{ int shaDigestLength; switch ...
- CentOS 7.2 源码安装Python3.6
1.环境 安装CentOS 7.2最小系统(CentOS-7-x86_64-Minimal-1511.iso) 2.需求 Python-3.6.4.tar.xz(官网下载) GCC(yum安装) 一堆 ...