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 相关文章推荐
利用js对象弹出一个层
Mar 26 Javascript
js 匿名调用实现代码
Jun 19 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
Sep 19 Javascript
鼠标焦点离开文本框时验证的js代码
Jul 19 Javascript
JS比较2个日期间隔的示例代码
Apr 15 Javascript
javascript组合使用构造函数模式和原型模式实例
Jun 04 Javascript
JavaScript模版引擎的基本实现方法浅析
Feb 15 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
Feb 15 Javascript
微信小程序 图片宽度自适应的实现
Apr 06 Javascript
js实现二级菜单点击显示当前内容效果
Apr 28 Javascript
Vue实现类似Spring官网图片滑动效果方法
Mar 01 Javascript
Node.js API详解之 zlib模块用法分析
May 19 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
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
PHP 7.1新特性的汇总介绍
2016/12/16 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
2019/10/17 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
你不知道的 javascript【推荐】
2017/01/08 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
vue中的scope使用详解
2017/10/29 Javascript
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
vue在响应头response中获取自定义headers操作
2020/07/24 Javascript
python如何对实例属性进行类型检查
2018/03/20 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
对django 模型 unique together的示例讲解
2019/08/06 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
CSS3 特效范例整理
2011/08/22 HTML / CSS
Html5 实现微信分享及自定义内容的流程
2019/08/20 HTML / CSS
爱游人:Travelliker
2017/09/05 全球购物
编辑找工作求职信范文
2013/12/16 职场文书
优秀毕业生自荐信范文
2014/01/01 职场文书
和平主题的演讲稿
2014/01/12 职场文书
就业表自我评价分享
2014/02/06 职场文书
满月酒主持词
2014/03/27 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
业务员岗位职责范本
2015/04/03 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书
OpenCV 图像梯度的实现方法
2021/07/25 Python