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


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 19 PHP
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
May 24 PHP
PHP连接MongoDB示例代码
Sep 06 PHP
PHP读取PPT文件的方法
Dec 10 PHP
twig模板获取全局变量的方法
Feb 05 PHP
php脚本运行时的超时机制详解
Feb 17 PHP
CodeIgniter常用知识点小结
May 26 PHP
PHP二维数组去重实例分析
Nov 18 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
Feb 04 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
Mar 24 PHP
phpMyAdmin通过密码漏洞留后门文件
Nov 20 PHP
PHP CURL使用详解
Mar 21 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更快的提供文件下载的代码
2012/06/13 PHP
PHP实现从远程下载文件的方法
2015/03/12 PHP
PHP学习笔记(三):数据类型转换与常量介绍
2015/04/17 PHP
简单JS代码压缩器
2006/10/12 Javascript
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
js与C#进行时间戳转换
2014/11/14 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
2016/07/04 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
常见的浏览器Hack技巧整理
2017/06/29 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
基于layui轮播图满屏是高度自适应的解决方法
2019/09/16 Javascript
全面理解Python中self的用法
2016/06/04 Python
答题辅助python代码实现
2018/01/16 Python
Python框架Flask的基本数据库操作方法分析
2018/07/13 Python
Flask之flask-script模块使用
2018/07/26 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
2021/03/03 Python
百联网上商城:i百联
2017/01/28 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
国际贸易专业推荐信
2013/11/15 职场文书
运动会通讯稿500字
2014/02/20 职场文书
报告会主持词
2014/04/02 职场文书
大班亲子运动会方案
2014/06/10 职场文书
2015团员个人年度总结
2015/11/24 职场文书
导游词之千岛湖
2019/09/23 职场文书
浅谈JS的二进制家族
2021/05/09 Javascript