利用laravel+ajax实现文件上传功能方法示例


Posted in PHP onAugust 13, 2017

前言

大家都知道,早期的XMLHttpRequest不支持文件上传,一般用第三方js插件或者flash,现在可以借助XMLHttpRequest Level 2 的FormData对象实现二进制文件上传,正好最近工作中遇到了这个需求,所以本文就来给大家总结下实现的方法,话不多说了,来一起看看详细的介绍吧。

示例代码

@extends('layouts.art')
@section('content')

<form class="form-horizontal" id="avatar"> 
   {{ csrf_field() }}
 <div class="form-group">
 <label for="inputEmail3" class="col-sm-2 control-label">名字</label>
 <div class="col-sm-8">
  <input type="title" class="form-control" id="title" name="title">
 </div>
 </div>


 <div class="form-group">
 <label for="inputEmail3" class="col-sm-2 control-label">头像</label>
 <div class="col-sm-8">
  <input type="file" class="form-control" id="title" name="photo">
 </div>
 </div>


 <div class="form-group">
 <div class="col-sm-offset-2 col-sm-10">
  <a class="btn btn-default" onclick="uploadInfo()">上传</a>
 </div>
 </div>
</form>

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> 
<script type="text/javascript"> 
function uploadInfo() { 
  var formData = new FormData($("#avatar")); 
  $.ajax({ 
   url: "{{url('photo')}}",
   type: 'POST', 
   data: formData, 
   contentType: false, 
   processData: false, 
   success: function (returndata) { 
    console.log(returndata); 
   }, 
   error: function (returndata) { 
    console.log(returndata); 
   } 
  }); 
} 

</script>

@endsection
//生成路径,图片存储
  $ext = $request->photo->getClientOriginalExtension();
  $cover_path = "images/album/covers/" . time() . $ext; 
  $name = "photo".time();
  $src = "images/album/photos/". $name .".jpg";
  Image::make($request->photo)->save(public_path($src));*/

 //批量上传图片

  foreach ($request->photo as $key => $value) {
   //生成路径,图片存储
   $prefix = "photo".mt_rand(1,1000);
   $Origname = $value->getClientOriginalName();
   $name = $prefix.$Origname;
   $src = "images/album/photos/".$name;
   $realPath = $value->getRealPath();
   Storage::disk('uploads')->put($src,file_get_contents($realPath));
  }

更多参考

https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/UsingFormDataObjects

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/UsingXMLHttpRequest#Submittingformsanduploading_files

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
php实现的MySQL通用查询程序
Mar 11 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
Sep 25 PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
May 16 PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 PHP
10个实用的PHP正则表达式汇总
Oct 23 PHP
php jsonp单引号转义
Nov 23 PHP
php编写简单的文章发布程序
Jun 18 PHP
一个简单至极的PHP缓存类代码
Oct 23 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
Laravel ORM 数据model操作教程
Oct 21 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 PHP
Laravel5.5新特性之友好报错以及展示详解
Aug 13 #PHP
php数据序列化测试实例详解
Aug 12 #PHP
PHP新特性之字节码缓存和内置服务器
Aug 11 #PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
Aug 11 #PHP
如何修改Laravel中url()函数生成URL的根地址
Aug 11 #PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 #PHP
基于Laravel5.4实现多字段登录功能方法示例
Aug 11 #PHP
You might like
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
php获取汉字首字母的函数
2013/11/07 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
PHP上传文件及图片到七牛的方法
2018/07/25 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
javascript Array.remove() 数组删除
2009/08/06 Javascript
浏览器缩放检测的js代码
2014/09/28 Javascript
javascript中call和apply的用法示例分析
2015/04/02 Javascript
javascript组合使用构造函数模式和原型模式实例
2015/06/04 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
python实现问号表达式(?)的方法
2013/11/27 Python
浅析python递归函数和河内塔问题
2017/04/18 Python
Python学习入门之区块链详解
2017/07/25 Python
python实现分页效果
2017/10/25 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
Python项目跨域问题解决方案
2020/06/22 Python
历史专业毕业生的自我鉴定
2013/11/15 职场文书
电子商务专业推荐信范文
2013/12/02 职场文书
实习生自我鉴定
2013/12/12 职场文书
入党积极分子介绍信
2014/01/17 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
机关作风建设剖析材料
2014/10/11 职场文书
见习报告的格式
2014/11/04 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
公司门卫岗位职责
2015/04/13 职场文书
2015年班组建设工作总结
2015/05/13 职场文书