本例用了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. Nginx修改access.log日志时间格式

    一.修改原因 因为要获取nginx访问信息,作为开发的数据使用,但是nginx的access.log文件中的默认的时间格式是这样的: [02/Nov/2017:20:48:25 +0800] 而要求的 ...

  2. duilib 修复CTreeViewUI控件动态添加子控件时,对是否显示判断不足的bug

    转载请说明出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/42264947 这个bug我在仿酷狗开发日志里提到过,不过后来发现修复的不够 ...

  3. 使用nginx+docker配置https负载均衡

    了解Docker Docker是一个golang编写的开源轻量级的.可移植的.自给自足的容器,Docker主要应用在以下场景: web应用的自动化打包和发布: 自动化测试和持续集成.发布: 在服务型环 ...

  4. myeclipse注册机,自己生成注册码

    话不多少,直接上代码 直接可以运行,自己输入key即可 package com.generate.myeclipse.code; import java.io.BufferedReader; impo ...

  5. Spring Boot + Swagger

    前言: 在互联网公司, 微服务的使用者一般分为两种, 客户端和其他后端项目(包括关联微服务),不管是那方对外提供文档 让别人理解接口 都是必不可少的.传统项目中一般使用wiki或者文档, 修改繁琐,调 ...

  6. uva 10288 Coupons (分数模板)

    https://vjudge.net/problem/UVA-10288 大街上到处在卖彩票,一元钱一张.购买撕开它上面的锡箔,你会看到一个漂亮的图案. 图案有n种,如果你收集到所有n(n≤33)种彩 ...

  7. C11线程管理:异步操作

    1.异步操作 C++11提供了异步操作相关的类,std::future.std::promise和std::package_task.std::future作为异步结果的传输通道,方便的获取线程函数的 ...

  8. C++类四个默认函数&深复制&浅复制

    学习C++语言的同学都知道,C++中类是有默认的几个函数的,主要是有四个函数: 四个函数 默认构造函数:A(void),无参构造函数 拷贝(复制)构造函数:A(const A&a).用一个对象 ...

  9. 从零搭建SSM框架(五)Maven实现Tomcat热部署

    配置tomcat 第一步:需要修改tomcat的conf/tomcat-users.xml配置文件.添加用户名.密码.权限. <role rolename="manager-gui&q ...

  10. Intellij IDEA 快捷键整理(转)

    Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件 C ...