又拍云异步上传实例教程详解


Posted in PHP onApril 19, 2016

网站静态文件存储在又拍云,之前上传是通过又拍云的的FORM API进行。

当产品经理歪着脑袋走向你的时候,哎呀呀,这用户信息这里,上传要无刷新的效果了。

 这他***,自己偷偷抱怨一会会,怎么搞喃?听说这家伙要一个好听的名字,异步上传,高大上档次挺像我的。

根据我们的观察,此处有两个重点:

①、怎么实现异步上传

②、怎么上传到又 拍 云

首先我们要实现异步上传,就需要利用js里面的FormData对象,据说,这家伙不支持ie6 7的,ie8就不太清楚了,据说哈,说错了不负责的。

不过喃,我们也不用考虑辣么多,前段时间都听说淘宝都要放弃ie6 7了,so 甭考虑辣么多了。ie6 7逮着ta估计都要骂ta小婊砸,竟然敢不支持我。

FormData是谁,这里就不多介绍了,可以自行百度。

我们先来看看view层怎么使用FormData这个小婊砸

<input type="file" accept="image/jpg,image/jpeg,image/png,image/gif" id="upload">
<input type="hidden" name="file">

如你所想,仅仅是一个input上传按钮和一个我们预留的准备接收图片地址的隐藏input

下面来看看JS是怎么愤怒的吧

<script type="text/javascript">
function($){
 //上传
 $("#upload").on("change", function () {
 //构造FormData对象并赋值
  var formData = new FormData();
  formData.append("policy", "//controller层传递过来upYun的policy配置");
  formData.append("signature", "//controller层传递过来upyun的signature配置");
  formData.append("file", $("#upload")[0].files[0]);
  $.ajax({
   url : "//处理上传的后端程序地址",
   type : "POST",
   data : formData,
   processData : false,
   contentType : false,
   beforeSend: function () {
    //可以做一些正在上传的效果
   },
   success : function(data) {
    //data,我们这里是异步上传到后端程序所返回的图片地址
   },
   error : function(responseStr) {
    console.log(responseStr);
   }
  });
 });
}($);
</script>

到此,我们已经实现了异步上传的前端代码,包括又拍云所需要的参数policy和signature

剩下的实现上传到又拍云就简单了,可以参考

https://github.com/upyun/php-sdk 进行处理

PHP 相关文章推荐
利用discuz实现PHP大文件上传应用实例代码
Nov 14 PHP
PHP写MySQL数据 实现代码
Jun 15 PHP
php cout&amp;lt;&amp;lt;的一点看法
Jan 24 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
Dec 18 PHP
WordPress开发中用于标题显示的相关函数使用解析
Jan 07 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
Apr 30 PHP
php+jQuery+Ajax简单实现页面异步刷新
Aug 08 PHP
Laravel 实现密码重置功能
Feb 23 PHP
PHP内置函数生成随机数实例
Jan 18 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 PHP
php抽象方法和普通方法的区别点总结
Oct 13 PHP
ThinkPHP中order()使用方法详解
Apr 19 #PHP
ThinkPHP中limit()使用方法详解
Apr 19 #PHP
ThinkPHP中where()使用方法详解
Apr 19 #PHP
yii2中的rules 自定义验证规则详解
Apr 19 #PHP
PHP序列化/对象注入漏洞分析
Apr 18 #PHP
php实现三级级联下拉框
Apr 17 #PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
Apr 17 #PHP
You might like
php+oracle 分页类
2006/10/09 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
PHP身份证校验码计算方法
2016/08/10 PHP
php 中phar包的使用教程详解
2018/10/26 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
JQuery live函数
2010/12/24 Javascript
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
node.js cookie-parser之parser.js
2016/06/06 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
React diff算法的实现示例
2018/04/20 Javascript
如何让微信小程序页面之间的通信不再变困难
2019/06/03 Javascript
详解微信小程序自定义组件的实现及数据交互
2019/07/22 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
Python实现的金山快盘的签到程序
2013/01/17 Python
python实现调用其他python脚本的方法
2014/10/05 Python
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
使用python读取txt文件的内容,并删除重复的行数方法
2018/04/18 Python
Python实现爬虫爬取NBA数据功能示例
2018/05/28 Python
Python实现的银行系统模拟程序完整案例
2019/04/12 Python
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
2019/12/11 Python
使用 pytorch 创建神经网络拟合sin函数的实现
2020/02/24 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
体育教师工作总结的自我评价
2013/10/10 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
同学聚会策划方案
2014/06/06 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS