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 ajax 仿百度分页函数
Oct 29 Javascript
js实现简单登录功能的实例代码
Nov 09 Javascript
js获取对象为null的解决方法
Nov 21 Javascript
浅谈JavaScript Math和Number对象
Jan 26 Javascript
javascript 广告移动特效的实现代码
Jun 25 Javascript
对javascript继承的理解
Oct 11 Javascript
jQuery中$原理实例分析
Aug 13 jQuery
微信小程序实现多选框全选与取消全选功能示例
May 14 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
vue element-ui el-date-picker限制选择时间为当天之前的代码
Nov 07 Javascript
vue video和vue-video-player实现视频铺满教程
Oct 30 Javascript
node脚手架搭建服务器实现token验证的方法
Jan 20 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
消息持续发送的完整例子
2006/10/09 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
javascript 动态生成私有变量访问器
2009/12/06 Javascript
修改好的jquery滚动字幕效果实现代码
2011/06/22 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
jquery.multiselect多选下拉框实现代码
2016/11/11 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
[31:47]夜魇凡尔赛茶话会 第三期01:选手知多少
2021/03/11 DOTA
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
python的Tqdm模块的使用
2018/01/10 Python
Python求解任意闭区间的所有素数
2018/06/10 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
python中get和post有什么区别
2020/06/19 Python
python如何停止递归
2020/09/09 Python
python 对xml解析的示例
2021/02/27 Python
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
Java语言程序设计测试题改错题部分
2014/07/22 面试题
食品营养与检测应届生求职信
2013/11/08 职场文书
自荐信格式
2013/12/01 职场文书
小学生家长寄语
2014/04/02 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
体育系毕业生求职自荐信
2014/04/16 职场文书
文明寝室申报材料
2014/05/12 职场文书
外联部演讲稿
2014/05/24 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
齐云山导游词
2015/02/06 职场文书
中英文求职信范文
2015/03/19 职场文书
Python闭包的定义和使用方法
2022/04/11 Python