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


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 相关文章推荐
深入探讨PHP中的内存管理问题
Aug 31 PHP
php全排列递归算法代码
Oct 09 PHP
PHPMailer的主要功能特点和简单使用说明
Feb 17 PHP
PHP动态编译出现Cannot find autoconf的解决方法
Nov 05 PHP
实现PHP+Mysql无限分类的方法汇总
Mar 02 PHP
php将12小时制转换成24小时制的方法
Mar 31 PHP
深入php内核之php in array
Nov 10 PHP
PHP自带方法验证邮箱是否存在
Feb 01 PHP
php生成0~1随机小数的方法(必看)
Apr 05 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
Yii框架getter与setter方法功能与用法分析
Oct 22 PHP
ThinkPHP5框架中使用JWT的方法示例
Jun 03 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
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
php设计模式 State (状态模式)
2011/06/26 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
php的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
JavaScript 利用Cookie记录用户登录信息
2009/12/08 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
2016/11/22 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
2017/04/12 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
分析python动态规划的递归、非递归实现
2018/03/04 Python
Python利用字典破解WIFI密码的方法
2019/02/27 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
2019/08/22 Python
Pytorch的mean和std调查实例
2020/01/02 Python
Opencv求取连通区域重心实例
2020/06/04 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
html5的localstorage详解
2017/05/09 HTML / CSS
名人珠宝设计师:Melinda Maria Jewelry
2019/03/06 全球购物
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
应届护士推荐信
2013/11/16 职场文书
企划主管岗位职责
2013/12/12 职场文书
自我鉴定总结
2014/03/24 职场文书
派出所所长先进事迹
2014/05/19 职场文书
实习指导教师评语
2014/12/30 职场文书
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android
Vue全局事件总线你了解吗
2022/02/24 Vue.js