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


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中转义mysql语句的实现代码
Jun 24 PHP
php中防止SQL注入的最佳解决方法
Apr 25 PHP
php-fpm配置详解
Feb 12 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
Oct 17 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
Jan 07 PHP
Yii实现自动加载类地图的方法
Apr 01 PHP
PHP判断字符串长度的两种方法很实用
Sep 22 PHP
php基于PDO连接MSSQL示例DEMO
Jul 13 PHP
PHP递归获取目录内所有文件的实现方法
Nov 01 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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 ZipArchive压缩函数详解实例
2013/11/06 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
PHP哈希表实现算法原理解析
2020/12/11 PHP
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
js 文件引入实现代码
2010/04/23 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
js+html5实现canvas绘制简单矩形的方法
2015/06/05 Javascript
javascript中this关键字详解
2016/12/12 Javascript
JS使用正则表达式找出最长连续子串长度
2017/10/26 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
Python标准异常和异常处理详解
2015/02/02 Python
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
利用python打印出菱形、三角形以及矩形的方法实例
2017/08/08 Python
Python 循环语句之 while,for语句详解
2018/04/23 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
pytorch1.0中torch.nn.Conv2d用法详解
2020/01/10 Python
Python实现病毒仿真器的方法示例(附demo)
2020/02/19 Python
python 递归相关知识总结
2021/03/03 Python
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
J2EE中常用的名词进行解释
2015/11/09 面试题
大学生求职简历的自我评价范文
2013/10/12 职场文书
写自荐信要注意什么
2013/12/26 职场文书
文字自荐书范文
2014/02/10 职场文书
党课培训主持词
2014/04/01 职场文书
城管大队整治方案
2014/05/06 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
倡议书的格式写法
2015/04/28 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
结婚当天新郎保证书
2015/05/08 职场文书
详解MySQL 联合查询优化机制
2021/05/10 MySQL