JS+HTML5实现上传图片预览效果完整实例【测试可用】


Posted in Javascript onApril 20, 2017

本文实例讲述了JS+HTML5实现上传图片预览效果。分享给大家供大家参考,具体如下:

在项目中遇到用input标签file类型的文件上传,想实在上传之前进行图片的预览功能;之前的做的一个解决方案是文件先上传上去然后返回地址再显示在页面上,这样就不太好,因为用户基本信息可能并没有保存,但是头像却已经改变,如果在需要改变就导致了多余图片的保存服务器。

在网上找了下解决方案,如下所示:

<!DOCTYPE HTML>
<html>
  <head>
  <meta charset="utf-8">
  <title>html5 图片上传预览</title>
  <style>
    #preview {
      width: 300px;
      height: 300px;
      overflow: hidden;
    }
    #preview img {
      width: 100%;
      height: 100%;
    }
  </style>
  <script src="jquery-1.7.2.min.js"></script>
  <script type="text/javascript">
    function preview1(file) {
      var img = new Image(), url = img.src = URL.createObjectURL(file)
      var $img = $(img)
      img.onload = function() {
        URL.revokeObjectURL(url)
        $('#preview').empty().append($img)
      }
    }
    function preview2(file) {
      var reader = new FileReader()
      reader.onload = function(e) {
        var $img = $('<img>').attr("src", e.target.result)
        $('#preview').empty().append($img)
      }
      reader.readAsDataURL(file)
    }
     
    $(function() {
      $('[type=file]').change(function(e) {
        var file = e.target.files[0]
        preview1(file)
      })
    })
  </script>
</head>
<body>
<form enctype="multipart/form-data" action="" method="post">
  <input type="file" name="imageUpload"/>
  <div id="preview" style="width: 300px;height:300px;border:1px solid gray;"></div>
</form>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript静态的动态
Sep 18 Javascript
Jquery实战_读书笔记2 选择器
Jan 22 Javascript
Jquery进度条插件 Progress Bar小问题解决
Jul 12 Javascript
jQuery实现的Div窗口震动效果实例
Aug 07 Javascript
Jquery实现顶部弹出框特效
Aug 08 Javascript
javascript学习总结之js使用技巧
Sep 02 Javascript
JS实现可拖曳、可关闭的弹窗效果
Sep 26 Javascript
基于javascript实现仿百度输入框自动匹配功能
Jan 03 Javascript
Bootstrap基本样式学习笔记之图片(6)
Dec 07 Javascript
React Native悬浮按钮组件的示例代码
Apr 05 Javascript
vue--点击当前增加class,其他删除class的方法
Sep 15 Javascript
JS module的导出和导入的实现代码
Feb 25 Javascript
详解Vue使用 vue-cli 搭建项目
Apr 20 #Javascript
解决AngualrJS页面刷新导致异常显示问题
Apr 20 #Javascript
Vue.js实现模拟微信朋友圈开发demo
Apr 20 #Javascript
AngularJS 单选框及多选框的双向动态绑定
Apr 20 #Javascript
Vue如何引入远程JS文件
Apr 20 #Javascript
AngularJS改变元素显示状态
Apr 20 #Javascript
bootstrap 设置checkbox部分选中效果
Apr 20 #Javascript
You might like
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
2010/05/16 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
jQuery实现拖动效果的实例代码
2017/06/25 jQuery
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
js前端导出Excel的方法
2017/11/01 Javascript
js实现跟随鼠标移动的小球
2019/08/26 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
[16:19]教你分分钟做大人——风暴之灵
2015/03/11 DOTA
python插入排序算法的实现代码
2013/11/21 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
2019/10/14 Python
如何在 Django 模板中输出 &quot;{{&quot;
2020/01/24 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
HTML5新表单元素_动力节点Java学院整理
2017/07/12 HTML / CSS
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
大学秋游活动方案
2014/02/11 职场文书
农村婚礼主持词
2014/03/13 职场文书
购房协议书
2014/04/11 职场文书
银行竞聘演讲稿范文
2014/04/23 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
2015年计划生育责任书
2015/05/08 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL