本例用了jquery.form.js请到演示页面查看

CSS Code
  1. <style>
  2. form { display: block; margin: 20px auto; background: #eee; border-radius: 10px; padding: 15px }
  3. #progress { position:relative; width:400px; border: 1px solid #ddd; padding: 1px; border-radius: 3px; }
  4. #bar { background-color: #B4F5B4; width:0%; height:20px; border-radius: 3px; }
  5. #percent { position:absolute; display:inline-block; top:3px; left:48%; }
  6. </style>
XML/HTML Code
  1. <form id="myForm" action="upload.php" method="post" enctype="multipart/form-data">
  2. <input type="file" size="60" name="myfile">
  3. <input type="submit" value="Ajax File Upload">
  4. </form>
  5. <div id="progress">
  6. <div id="bar"></div>
  7. <div id="percent">0%</div >
  8. </div>
  9. <div id="message"></div>
JavaScript Code
  1. <script>
  2. $(document).ready(function()
  3. {
  4. var options = {
  5. beforeSend: function()
  6. {
  7. $("#progress").show();
  8. //clear everything
  9. $("#bar").width('0%');
  10. $("#message").html("");
  11. $("#percent").html("0%");
  12. },
  13. uploadProgress: function(event, position, total, percentComplete)
  14. {
  15. $("#bar").width(percentComplete+'%');
  16. $("#percent").html(percentComplete+'%');
  17. },
  18. success: function()
  19. {
  20. $("#bar").width('100%');
  21. $("#percent").html('100%');
  22. },
  23. complete: function(response)
  24. {
  25. $("#message").html("<font color='green'>"+response.responseText+"</font>");
  26. },
  27. error: function()
  28. {
  29. $("#message").html("<font color='red'> ERROR: unable to upload files</font>");
  30. }
  31. };
  32. $("#myForm").ajaxForm(options);
  33. });
  34. </script>

upload.php

PHP Code
  1. <?php
  2. $output_dir = "../upload/";
  3. if(isset($_FILES["myfile"]))
  4. {
  5. //Filter the file types , if you want.
  6. if ($_FILES["myfile"]["error"] > 0)
  7. {
  8. echo "Error: " . $_FILES["file"]["error"] . "<br>";
  9. }
  10. else
  11. {
  12. //move the uploaded file to uploads folder;
  13. move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir. $_FILES["myfile"]["name"]);
  14. echo "Uploaded File :".$_FILES["myfile"]["name"];
  15. }
  16. }
  17. ?>

一个简单的ajax上传 上传进度显示的更多相关文章

  1. 不带插件 ,自己写js,实现批量上传文件及进度显示

    今天接受项目中要完成文件批量上传文件而且还要显示上传进度,一开始觉得这个应该不是很麻烦,当我在做的时候遇到了很多问题,很头疼啊. 不过看了别人写的代码,自己也测试过,发现网上好多都存在一些问题,并不是 ...

  2. Retrofit2文件上传下载及其进度显示

    序 前面一篇文章介绍了Retrofit2的基本使用,这篇文章接着介绍使用Retrofit2实现文件上传和文件下载,以及上传下载过程中如何实现进度的显示. 文件上传 定义接口 1 2 3 @Multip ...

  3. 用Qt写软件系列三:一个简单的系统工具(上)

    导言 继上篇<用Qt写软件系列二:QIECookieViewer>之后,有一段时间没有更新博客了.这次要写的是一个简单的系统工具,需求来自一个内部项目.功能其实很简单,就是查看当前当前系统 ...

  4. Ajax得知(两)—— 一个简单的Ajax示例

    通过部分博客认识Ajax之后,我们通过一个简单的实例来消化消化理论知识,一睹Ajax的庐山真面目. 1.实例功能: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZ ...

  5. 一个简单的AJAX实例

    创建一个简单的XMLHttpRequest,从一个TXT文件中返回数据. 来源于菜鸟教程 <!DOCTYPE html><html><head><meta c ...

  6. 一个简单的安卓+Servlet图片上传例子

    例子比较 简单,服务端为Java Web Servlet,doPost方法中接收图片并保存,然后将保存的图片名返回给客户端,关键代码: @SuppressWarnings("deprecat ...

  7. ajax上传文件及进度显示

    之前在博文:原生ajax写法就提及过ajax2.0与1.0的差别是多了FormData和利用FormData文件上传(当然还有跨域,但不是本文的重点). 那么具体怎么样实现ajax上传文件呢? 一般来 ...

  8. React Native ——实现一个简单的抓取github上的项目数据列表

    /** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; var React ...

  9. 一个简单的AJAX示例(转)

    转载自:http://www.cnblogs.com/rubylouvre/archive/2013/01/08/2851051.html,为了防备面试,备份一份吧!! 虽然现在有了框架,许多AJAX ...

随机推荐

  1. 【题解】Berland.Taxi Codeforces 883L 模拟 线段树 堆

    Prelude 题目传送门:ヾ(•ω•`)o Solution 按照题意模拟即可. 维护一个优先队列,里面装的是正在运营中的出租车,关键字是乘客的下车时间. 维护一个线段树,第\(i\)个位置表示第\ ...

  2. libuv移植到ios

    libuv官网只提供了os x的编译方法,没有IOS的.既然os x和ios的系统内核差不多,并且编译工具都是xcode,那我们只要重新指定cpu架构,就可以编译出ios版的了. 1.安装python ...

  3. IE6+IE7+IE8+IE9+FF兼容性调试

    HACK原理:不同浏览器对各中字符的识别不同 (读完文章你会发现,FF和IE8对以下字符的识别能力完全相同) 在 CSS中常用特殊字符识别表: (1)*:  IE6+IE7都能识别*,而标准浏览器FF ...

  4. 【BZOJ】1426: 收集邮票 期望DP

    [题意]有n种不同的邮票,第i次可以花i元等概率购买到一种邮票,求集齐n种邮票的期望代价.n<=10^4. [算法]期望DP [题解]首先设g[i]表示已拥有i张邮票集齐的期望购买次数,根据全期 ...

  5. JavaScript使用数组

    for循环遍历 //js的数组里可以存各种类型 var arr =[1,5,true,false,'小明']; //遍历 for(var i=0;i<arr.length;i++){ alert ...

  6. Let's Encrypt 免费通配 https 签名证书 安装方法2 ,安卓签名无法认证!

    Let's Encrypt 免费通配 https 签名证书 安装方法 按照上文 配置完毕后你会发现 在pc浏览器中正常访问,在手机浏览器中无法认证 你只需要安装一个或多个中级证书 1.查看Nginx ...

  7. HDU 1172 猜数字 (模拟)

    题目链接 Problem Description 猜数字游戏是gameboy最喜欢的游戏之一.游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么.每猜一个数,计算机都会告诉玩家猜 ...

  8. 动态规划_01背包问题_Java实现

    原文地址:http://blog.csdn.net/ljmingcom304/article/details/50328141 本文出自:[梁敬明的博客] 1.动态规划 什么是动态规划?动态规划就是将 ...

  9. PHP对象3: public / private / protected

    <?php /* public 可继承, 内外可访问 private 不可, 只内部访问 protected 可继承, 只内部 */ class A{ protected $name; priv ...

  10. flask插件系列之flask_restful设计API

    前言 flask框架默认的路由和视图函数映射规则是通过在视图函数上直接添加路由装饰器来实现的,这使得路由和视图函数的对应关系变得清晰,但对于统一的API开发就变得不怎么美妙了,尤其是当路由接口足够多的 ...