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


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 相关文章推荐
一个简单计数器的源代码
Oct 09 PHP
php jquery 实现新闻标签分类与无刷新分页
Dec 18 PHP
PHP与SQL注入攻击防范小技巧
Sep 16 PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 PHP
php中将汉字转换成拼音的函数代码
Sep 08 PHP
PHP输入流php://input介绍
Sep 18 PHP
php处理文件的小例子(解压缩,删除目录)
Feb 03 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
Jun 09 PHP
PHP实现对数组分页处理实例详解
Feb 07 PHP
php正则表达式基本知识与应用详解【经典教程】
Apr 17 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
Laravel框架实现利用监听器进行sql语句记录功能
Jun 06 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实现单例模式最安全的做法
2014/06/13 PHP
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
p5.js实现斐波那契螺旋的示例代码
2018/03/22 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
javascript实现日历效果
2019/06/17 Javascript
jQuery实现轮播图效果
2019/11/26 jQuery
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
python文本数据相似度的度量
2018/03/12 Python
PyTorch上实现卷积神经网络CNN的方法
2018/04/28 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
利用python求积分的实例
2019/07/03 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
2019/08/30 Python
python实现字典嵌套列表取值
2019/12/16 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
python 如何对logging日志封装
2020/12/02 Python
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
幼儿教师思想汇报
2014/01/10 职场文书
社会学专业求职信
2014/02/24 职场文书
派出所副所长四风问题个人整改措施思想汇报
2014/10/13 职场文书
集团财务总监岗位职责
2015/04/03 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
运动会开幕式致辞
2015/07/29 职场文书
《司马光》教学反思
2016/02/22 职场文书
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL