本例用了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. python基础7--集合

    集合set Python的set集合是一个无序不重复元素集.基本功能包括关系测试和消除重复元素.集合对象还支持union(并集).intersection(交集).difference(差集) 和 s ...

  2. 「Python」7个不一样的代码写法

    打印index 对于一个列表,或者说一个序列我们经常需要打印它的index,一般传统的做法或者说比较low的写法: 更优雅的写法是多用enumerate 两个序列的循环 我们会经常对两个序列进行计算或 ...

  3. 前端PHP入门-025-数组-重中之重

    数组是PHP中一个 很很很很很很很很很很重要 的一个 数据类型 . 学习数组,大家主要学习两部份的知识: 1.数组的定义,定义中的一些注意的坑 2.数组的函数使用 认识数组 数组定义 数组在之前我们让 ...

  4. CSS3实现文本垂直排列

    最近的一个项目中要使文字垂直排列,也就是运用了CSS的writing-mode属性. writing-mode最初时ie中支持的一个属性,后来在CSS3中增添了这一新的属性,所以在ie中和其他浏览器中 ...

  5. JS笔记-强化版1

    1.函数:可以理解为-命令,做一些事~~       function abc(){ // 肯定不会主动执行的!       ……       }       直接调用:abc();       事件 ...

  6. Oracle用imp导入dmp文件记录一下

    ---------------------------------------------------------------------------------------------------- ...

  7. easyui 更改dialog弹出的位置

    方法一: 在弹出dialog的时候不用$('#dialogDiv').dialog('open');打开.用$('#dialogDiv').window('open');打开.再用window的res ...

  8. 5 Techniques To Understand Machine Learning Algorithms Without the Background in Mathematics

    5 Techniques To Understand Machine Learning Algorithms Without the Background in Mathematics Where d ...

  9. 【BZOJ】4293: [PA2015]Siano 线段树上二分

    [题意]给定n棵高度初始为0的草,每天每棵草会长高a[i],m次收割,每次在d[i]天将所有>b[i]的草收割到b[i],求每次收割量.n<=500000. [算法]线段树上二分 [题解] ...

  10. vista风格的cms企业html后台管理系统模板——后台

    链接:http://pan.baidu.com/s/1c1Cv99e 密码:20yz