参加的项目是一个PC端网站,需要做一个更换头像的功能,要求是显示原先头像,然后点击上传按钮,选择图片后,显示被选中的图片的缩略图。

效果图如下(有点丑,只是为了实现效果,手动滑稽):

代码如下:

<!DOCTYPE html>
<html>
<head>
  <title>1234</title>
  <script type="text/javascript" src="jquery.js"></script>
</head>
<body>
  <div id="myAvatar">
    <span class="myAvatar">我的头像</span>
    <img src="3.jpg" width="100px" height="100px" alt="我的头像">
  </div>
  <div id="changeAvatar">
    <span class="changeAvatar">修改头像</span>
    <label>
        <input οnchange="previewFile()" style="position:absolute;opacity:0;width: 0px;height: 0px;" type="file" name="file" id="Album_img" accept="image/gif,image/jpeg,image/x-png"/>
        <img style="width: 60px;height: 60px;" title="上传文件" src="addAvatar.png">
    </label>
    <img class="newAvatar" src="" width="100px" height="100px" alt="修改后头像的缩略图" style="opacity: 0;">
    <div class="confirmChange">
      <input type="submit" name="confirmChange" id="confirmChange" value="确认修改">
    </div>
  </div>
</body>
<script type="text/javascript">
  function previewFile() {
    var preview = document.getElementsByTagName('img');
    var file    = document.querySelector('input[type=file]').files[0];
    var reader  = new FileReader();

reader.onloadend = function () {
      preview[2].src = reader.result;

}

if (file) {
      reader.readAsDataURL(file);
      $(".newAvatar").css('opacity', '1');
    } else {
      $(".newAvatar").css('opacity', '0');
      preview[2].src = "";
    }
  }
</script>
</html>

主要有两个问题:

  1. 就是上传的图片的地址非常长,,,不是一般的长。为了实现功能,我把对应数据表的字段由varchar改成了text,遇到更好的方法后一定改正这种实现方法。
  2. js部分代码应该用的是封装好后的,不能用相应的jq代码去替换

希望可以各位小伙伴一起探讨,有更好的方法,麻烦留言哦,谢谢!

参考链接:https://codepen.io/skura23/pen/aWBGBJ

Javascript 上传图片 显示缩略图相关推荐

  1. php中上传图片怎么显示出来,PHP上传图片类显示缩略图功能

    有缩略图功能 但是 感觉不全面,而且有点问题,继续学习,将来以后修改下 /** * Created by PhpStorm. * User: Administrator * Date: 2016/6/ ...

  2. jsp如何显示ftp服务器的图片,Jsp页面上传图片和缩略图查看

    关于Jsp页面上传图片和缩略图查看 主要分为两部分: 第一,图片的上传,图片保存在ftp服务器里(也可以是对应的项目文件夹下需要相对应的修改) 第二,上传后,我们通过点击页面的缩略图查看原图 关于图片 ...

  3. Django Admin 上传多张图片并显示缩略图

    Django Admin 上传多张图片并显示缩略图 文章目录 Django Admin 上传多张图片并显示缩略图 1.效果预览 2.自定义Widget 3.定义模型和模型表单 3.1 定义模型 3.2 ...

  4. JavaScript上传图片及时预览

    JavaScript上传图片及时预览 /*******************************正面图片上传预览开始****************************/         f ...

  5. 微擎 公众号分享朋友圈不显示缩略图

    微擎 公众号分享朋友圈不显示缩略图 首先在公众号控制器层面获取用户数据 $account_api = WeAccount::create(); $jssdk = $account_api->ge ...

  6. idea androidx控件不显示预览_如何解决SOLIDWORKS不显示缩略图预览的方法?

    经常有用户会遇到在资源管理器中查看SolidWorks文件时,仅显示SOLIDWORKS的图标,而没有相关文件的预览缩略图.这对我们在检索零部件的时候会造成一定的效率影响,本文将对于该问题的处理方法进 ...

  7. 电脑图片不显示缩略图怎么办

    为什么80%的码农都做不了架构师?>>>    文件夹选项,查看,选上"以缩略图形式显示文件图标",不要选"始终显示图标,从不显示缩略图" 转 ...

  8. MFC listctrl显示缩略图时索引问题和滚动条问题

    索引号问题: 先来说一下索引号的问题,自己用for循环加载显示缩略图,第一个插入时设置的索引号是"0",然后在左键单击事件时就出现问题,发现单击后索引号是乱的,花了点时间想了想,觉 ...

  9. ftp服务器不显示缩略图,ftp服务器不显示缩略图

    ftp服务器不显示缩略图 内容精选 换一换 节点是指接入到平台的计算资源,包括虚拟机.物理机等.用户需确保所在项目节点资源充足,若节点资源不足,会导致创建工作负载等操作失败.已创建至少一个集群,请参见 ...

最新文章

  1. cocos2dx3.8 android打包脚本编写
  2. C/C++连接MySql数据库
  3. 把激光雷达放在iPad上是怎样的体验?看到“测距仪”App的效果我震惊了
  4. JVM实战与原理--前言及索引
  5. 黑马12期 day73-EasyUI笔记(2017年7月11日16:23:45)
  6. Python中operator模块的操作
  7. Apache2+PHP5不能加载Zend Optimizer的问题
  8. mysql链接数据库时报错
  9. java实现分布式redis锁_使用redis实现分布式锁
  10. 方法论:如何从0到1搭建一套完整的邀请体系
  11. 静态块、自由块及构造函数的执行顺序
  12. C ++ 指针 | this指针_2
  13. Java自动化测试框架-07 - TestNG之Factory篇 - (详细教程)
  14. 宽量程电压电流 stm32_尚学堂期中考试专题:初三物理知识点总结,抢分必备!|电流表|电压表|方向|势能|导线...
  15. 基于Python-turtle库绘制哆啦A梦和大雄在一起
  16. 【前端项目】<开发实战>一个小而精致的个人简历
  17. 计算机会计学实验报告,计算机会计学实验报告5(UFO报表管理).docx
  18. 工业互联网标识解析与标识服务机构服务能力成熟度等级评估管理平台【需求规格说明书/用户手册】
  19. python调用库实现dwg批量转pdf_如何对PDF进行批量转换成CAD
  20. linux在根目录下创建目录一test,Linux练习题

热门文章

  1. 记录:Warning C6385 : 从“p”中读取的数据无效: 可读大小为“n * sizeof(int)”个字节,但可能读取了“8”个字节。
  2. 转换 FLAC、APE 无损音乐格式为 iTunes 支持导入的 M4A 格式
  3. IO流完整笔记,个人学习的手敲笔记,看完你就能学会Java IO流
  4. python主网站网址是_python网站主题
  5. 测试覆盖率工具:EclEmma
  6. 下拉刷新和上拉加载 php,怎样操作vue2.0 移动端实现下拉刷新和上拉加载
  7. 基于FPGA的音频信号的FIR滤波(Matlab+Modelsim验证)
  8. 遇到电脑打字没有候选字框解决办法
  9. js获取当前日期时间 YYYY-MM-dd HH:MM:SS
  10. 骨骼动画原理及简单实现