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


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 相关文章推荐
第五节--克隆
Nov 16 PHP
PHP经典的给图片加水印程序
Dec 06 PHP
生成卡号php代码
Apr 09 PHP
php 设计模式之 单例模式
Dec 19 PHP
不要轻信 PHP_SELF的安全问题
Sep 05 PHP
php后台程序与Javascript的两种交互方式
Oct 25 PHP
php遍历所有文件及文件夹的方法深入解析
Jun 08 PHP
深入掌握include_once与require_once的区别
Jun 17 PHP
PHP页面中文乱码分析
Oct 29 PHP
php使用PDO方法详解
Dec 27 PHP
php compact 通过变量创建数组
Nov 15 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
Aug 27 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中static关键字原理的学习研究分析
2011/07/18 PHP
163的邮件用phpmailer发送(实例详解)
2013/06/24 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
javaScript call 函数的用法说明
2010/04/09 Javascript
JS 打印功能代码可实现打印预览、打印设置等
2014/10/31 Javascript
JS实现超简单的仿QQ折叠菜单效果
2015/09/21 Javascript
javascript中字体浮动效果的简单实例演示
2015/11/18 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
webpack常用配置项配置文件介绍
2016/11/07 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
微信小程序进入广告实现代码实例
2019/09/19 Javascript
vue实现评论列表功能
2019/10/25 Javascript
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
anaconda升级sklearn版本的实现方法
2021/02/22 Python
详解CSS3中@media的实际使用
2015/08/04 HTML / CSS
学生的自我鉴定范文
2013/10/24 职场文书
幼儿师范毕业生自荐信
2013/11/09 职场文书
服装促销活动方案
2014/02/23 职场文书
公证委托书标准格式
2014/09/11 职场文书
幼儿教师个人总结
2015/02/05 职场文书
python基于tkinter制作下班倒计时工具
2021/04/28 Python
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android