<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
progress {
width: 168px;
height: 5px;
color: #f00;
background: #EFEFF4;
border-radius: 0.1rem;
} /* 表示总长度背景色 */
progress::-webkit-progress-bar {
background-color: #f2f2f2;
border-radius: 0.2rem;
} /* 表示已完成进度背景色 */
progress::-webkit-progress-value {
background: forestgreen;
border-radius: 0.2rem;
}
</style>
</head>
<body>
<input type="file" id="myFile"/>
<div id="bar">
上传进度:
<progress id="pro" value="0"></progress>
</div>
<div>
<img src="" alt="GG" id="myImg"/>
</div> </body>
<script src="../js/jquery.js"></script>
<script> var myFile = document.getElementById("myFile");
//绑定事件(ECMAScript6写法)
myFile.addEventListener("change", () => {
var file = myFile.files[0];
//toDataURL(file);
previewWithObjectURL(file);
}) //简单的图片预览建议使用第一种方式
//URL方式(第一种方式)src = blob:http://localhost:8080/f720711f-57e2-428f-8a47-ec59e5dbbc10
function previewWithObjectURL(file) {
var url = URL.createObjectURL(file);
var reader = new FileReader();
reader.readAsDataURL(file);
//请求完成后,显示图片
reader.onloadend = function (event) {
document.getElementById("myImg").src = url;
}
//上传过程中动态显示进度条
reader.onprogress = function (event) {
if (event.lengthComputable) {
document.getElementById("pro").value = event.loaded / event.total;
}
}
} //DataURL(第二种方式)src = data image/jpeg;base64,/hihfejaojshf24ji3h53i
function toDataURL(file) {
var reader = new FileReader();
reader.readAsDataURL(file);
//请求完成后,显示图片
reader.onloadend = function (event) {
document.getElementById("myImg").src = event.target.result;
}
//上传过程中动态显示进度条
reader.onprogress = function (event) {
if (event.lengthComputable) {
document.getElementById("pro").value = event.loaded / event.total;
}
}
}
</script>
</html>

js图片预览带进度条的更多相关文章

  1. js实现图片上传预览及进度条

    原文js实现图片上传预览及进度条 最近在做图片上传的时候,由于产品设计的比较fashion,上网找了比较久还没有现成的,因此自己做了一个,实现的功能如下: 1:去除浏览器<input type= ...

  2. js图片预览插件,不涉及上传

    小小的几十行代码,很牛逼,很实用. 支持多个图片的预览,只要new多个对象就行了. html如下 <!-- zhouxiang www.zhou-xiang.com --> <!DO ...

  3. previewImage.js图片预览缩放保存插件

    previewImage.js好用的图片预览缩放保存插件

  4. vue.js 图片预览

    Vue.js的图片预览的插件还是不少,但是找了半天还是没找到跟现在项目里能用得很顺手的,其实项目里图片预览功能很简单,点击放大,能双指缩放就可以了.部分vue.js的图片预览库都需要把图片资源单独拿出 ...

  5. js 图片预览

    图片预览 $('#pac_recipe').change(function() { var imgsrc = ''; ]) { //chrome firefox imgsrc = window.URL ...

  6. MVC 图片上传 带进度条(转)

    MVC 图片上传小试笔记 form.js 这个插件已经是很有名的,结合MVC的html辅助方法异步上传就很简单了.jQuery Form Plugin :http://www.malsup.com/j ...

  7. js图片预览(一张图片预览)

    核心思想:无论是一张图片上传还是多图上传,首先我们都需要先获得图片对象. 栗子: <inuput type="file" id="myfile" onch ...

  8. bootstarp 多图片上传 带进度条

    前台代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head&g ...

  9. 一般处理程序、Ajax多图片上传带进度条

    <!DOCTYPE html><html><head>    <meta charset="utf-8" />    <tit ...

随机推荐

  1. 利用commands模块执行shell命令

    利用commands模块执行shell命令 用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态 ...

  2. java中静态代码块,非静态代码块,构造函数

    关于静态代码块 静态代码块的写法: static { System.out.println("我是静态代码块"); } 静态代码块的特点: 1.执行优先级高于非静态的初始化块,它会 ...

  3. ServiceLoader在SPI中的重要作用分析

    对于线程上下文类加载器在之前已经对它进行了详细的理论化的学习,其中对于这个类加载器应用最多的也就是在SPI场合下用来打破双亲委托机制,如之前所描述的: 这次举一个具体的例子来进一步的加深对线程上下文类 ...

  4. sublimeTest3的安装注册插件

    [感谢:https://blog.csdn.net/wxl1555/article/details/69941451 ]1)下载:http://www.sublimetext.com/32)安装:(我 ...

  5. Java8-Stream-No.02

    import java.util.ArrayList; import java.util.List; public class Streams2 { public static void main(S ...

  6. Bootstrap-轮播图-No.4

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  7. vue-cli使用less

    vue-cli中使用less package.json 中添加 less,less-loader 之后不需要进行其他配置 在vue-cli构建的项目中 utils.js 已经帮我们引入了各种css编辑 ...

  8. Educational Codeforces Round 73 (Rated for Div. 2) C. Perfect Team

    链接: https://codeforces.com/contest/1221/problem/C 题意: You may have already known that a standard ICP ...

  9. zabbix添加监控项以及常用的键值

      zabbix自身提供了丰富的监控项,下面以“cpu空闲值”为例介绍zabbix如何添加新的监控项 1.创建主机群组 配置——主机群组——创建主机群组 2.创建主机 配置——主机——创建主机 3.添 ...

  10. Windows全屏代码--摘自Chrome

    变量定义: typedef struct SCREEN_INFO { DWORD dwStyle; DWORD dwExStyle; CRect rect; bool bMaximized; }Sre ...