js图片预览带进度条
- <!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图片预览带进度条的更多相关文章
- js实现图片上传预览及进度条
原文js实现图片上传预览及进度条 最近在做图片上传的时候,由于产品设计的比较fashion,上网找了比较久还没有现成的,因此自己做了一个,实现的功能如下: 1:去除浏览器<input type= ...
- js图片预览插件,不涉及上传
小小的几十行代码,很牛逼,很实用. 支持多个图片的预览,只要new多个对象就行了. html如下 <!-- zhouxiang www.zhou-xiang.com --> <!DO ...
- previewImage.js图片预览缩放保存插件
previewImage.js好用的图片预览缩放保存插件
- vue.js 图片预览
Vue.js的图片预览的插件还是不少,但是找了半天还是没找到跟现在项目里能用得很顺手的,其实项目里图片预览功能很简单,点击放大,能双指缩放就可以了.部分vue.js的图片预览库都需要把图片资源单独拿出 ...
- js 图片预览
图片预览 $('#pac_recipe').change(function() { var imgsrc = ''; ]) { //chrome firefox imgsrc = window.URL ...
- MVC 图片上传 带进度条(转)
MVC 图片上传小试笔记 form.js 这个插件已经是很有名的,结合MVC的html辅助方法异步上传就很简单了.jQuery Form Plugin :http://www.malsup.com/j ...
- js图片预览(一张图片预览)
核心思想:无论是一张图片上传还是多图上传,首先我们都需要先获得图片对象. 栗子: <inuput type="file" id="myfile" onch ...
- bootstarp 多图片上传 带进度条
前台代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head&g ...
- 一般处理程序、Ajax多图片上传带进度条
<!DOCTYPE html><html><head> <meta charset="utf-8" /> <tit ...
随机推荐
- Apache版本兼容性问题
Apache 版本2.2.31 版本对于谷歌浏览器不兼容.IE8版本可以正常使用 当使用了Apache 高版本的话就解决了 出现以下现象
- bind9+dlz+mysql连接断开问题
前言 关于bind-dlz介绍:http://bind-dlz.sourceforge.net/ DLZ(Dynamically Loadable Zones)与传统的BIND9不同,BIND的不足之 ...
- P5650 基础字符串练习题
设定'0'权值为1,设定'1'权值为-1 然后就是最大子段和 #include <cstdio> #include <algorithm> #include <cstri ...
- [TJOI2019]唱、跳、rap和篮球——容斥原理+生成函数
先附一组sd图 然后放上原题链接 注意,队伍不同指的是喜好不同,不是人不同 先想到\(DP\),然后你会发现并没有什么优秀的状态设计,然后我们考虑容斥 设\(lim\)表示选的癌坤组数的上限,\(f_ ...
- RabbitMQ与Spring集成配置
1.引入相关jar包 //RabbitMQ compile group: 'org.springframework.amqp', name: 'spring-rabbit', version: '1. ...
- npm 镜像地址配置
1.查询当前镜像地址 npm get registry 2.修改镜像地址 npm config set registry http://registry.npm.taobao.org/ 原始镜像地址( ...
- POI读取格式化后的单元格数据
public static String getFormattedValue(Cell cell) { FormulaEvaluator evaluator = cell.getSheet().get ...
- JavaScript程序设计——FOR循环
FOR循环流程图: 1.编写求6!的阶乘的代码 2.编写10个10相加的和 3.编写1+2+3+...+10连续相加的和 4.编写1+(1+2)+(1+2+3)+...+(1+2+3+...+10)连 ...
- 几个不同的关键XPath概念
几个不同的关键XPath概念...... 绝对vs相对XPath(/vs .) / 引入绝对位置路径,从文档的根开始. . 从上下文节点开始引入相对位置路径. 命名元素vs任何元素(enamevs * ...
- effective c++ (四)
条款10:令operator=返回一个reference to *this 为了实现“连锁赋值”,赋值操作符必须返回一个reference指向操作符的左侧实参,这是你为classes实现赋值操作符时应 ...