全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

基于JavaScript实现本地图片预览

本文实例为大家分享了js本地图片预览的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<!--
<!DOCTYPE html>一定要放在第一行,除非上面都是空行

在HTML规范中,单独存在的标签是不需要使用/来自我关闭的,比如<br>,<input>,<hr>等等这样的标签都是符合语法的.
在XHTML规范中,单独存在的标签要按照XML的语法规则进行自我关闭,上面三个标签就应写成<br />,<input />,<hr />
-->
<html>
  <head>
    <meta charset="utf8">
    <style>
      input[type=radio] {
        /* 按钮与文字对齐 */
        vertical-align:middle;
      }
      input[type=file] {
        display: block;
      }
      #img {
        width: 200px;
        height: 200px;
        border: 1px solid black;
        margin-top: 10px;
      }
    </style>
  </head>
  <body>
    <input type="radio" name="previewType" value="fileReader" onChange="onPreviewTypeChange()">fileReader
    <input type="radio" name="previewType" value="createURL" onChange="onPreviewTypeChange()">createURL
    <hr>
    <input type="file" id="imgFile" onChange="imgChange()" value="test.jpg">
    <img id="img">
    <script>
      var previewTypes = document.getElementsByName("previewType");
      var imgFile = document.getElementById("imgFile");
      var img = document.getElementById("img");

      function getPreviewType() {
        for(var i=0; i<previewTypes.length; i++) {
          if(previewTypes[i].checked) {
            return previewTypes[i].value;
          }
        }
      }

      function onPreviewTypeChange() {
        imgChange(event.target.value);
      }

      function imgChange(type) {
        img.src = "";
        var files = imgFile.files;
        console.log(files);
        if(!files || files.length === 0) {
          return;
        }
        var file = files[0];
        if(!type) {
          type = getPreviewType();
          if(!type) {
            return;
          }
        }
        switch(type) {
          case "fileReader":
            var fr = new FileReader();
            fr.onload = function(progressEvent) {
              console.log(progressEvent);
              img.src = progressEvent.target.result;
            }
            fr.readAsDataURL(file);
            break;
          case "createURL":
            img.onload = function() {
              //释放一个之前通过调用 URL.createObjectURL() 创建的已经存在的 URL 对象。
              URL.revokeObjectURL(img.src);
            }
            img.src = URL.createObjectURL(file);
            break;
        }
      }
    </script>
  </body>
</html>


fileReader.readAsDataURL

URL.createObjectURL

可以看出URL实质上是以“blob:”打头的,后面跟着32位的UUID(8-4-4-4-12)的结构。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js本地图片预览  # js图片预览  # javascript本地图片预览  # JS预览图像将本地图片显示到浏览器上  # Javascript图片上传前的本地预览实例  # javascript IE7 浏览器本地图片预览  # 在页面预览客户端本地图片的js代码(兼容FF IE)  # 纯JS实现本地图片预览的方法  # javascript firefox不显示本地预览图片问题的解决方法  # JS中利用FileReader实现上传图片前本地预览功能  # JavaScript实现图片本地预览功能【不用上传至服务器】  # 原生js FileReader对象实现图片上传本地预览效果  # JavaScript实现预览本地上传图片功能完整示例  # js实现的在本地预览图片功能示例  # 都是  # 放在  # 不需要  # 可以看出  # 大家分享  # 具体内容  # 实质上  # 大家多多  # 进行自我  # vertical  # radio  # align  # file  # middle  # charset  # meta  # type  # style  # border  # height 


相关文章: 如何做网站制作流程,*游戏网站怎么搭建?  如何用腾讯建站主机快速创建免费网站?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  活动邀请函制作网站有哪些,活动邀请函文案?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  已有域名如何免费搭建网站?  如何通过建站之星自助学习解决操作问题?  C++中引用和指针有什么区别?(代码说明)  如何在香港免费服务器上快速搭建网站?  制作表格网站有哪些,线上表格怎么弄?  如何将凡科建站内容保存为本地文件?  建站之星微信建站一键生成小程序+多端营销系统  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  青岛网站建设如何选择本地服务器?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  如何高效利用200m空间完成建站?  如何解决VPS建站LNMP环境配置常见问题?  小建面朝正北,A点实际方位是否存在偏差?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  建站之星代理如何优化在线客服效率?  建站之星导航菜单设置与功能模块配置全攻略  网站制作费用多少钱,一个网站的运营,需要哪些费用?  临沂网站制作企业,临沂第三中学官方网站?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  XML的“混合内容”是什么 怎么用DTD或XSD定义  如何使用Golang安装API文档生成工具_快速生成接口文档  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  怎么将XML数据可视化 D3.js加载XML  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  如何通过NAT技术实现内网高效建站?  如何用y主机助手快速搭建网站?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  如何选择适配移动端的WAP自助建站平台?  济南企业网站制作公司,济南社保单位网上缴费步骤?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  如何通过商城免费建站系统源码自定义网站主题?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  如何快速搭建FTP站点实现文件共享?  在线教育网站制作平台,山西立德教育官网?  如何快速查询网站的真实建站时间?  建站之星代理费用多少?最新价格详情介绍  建站之星展会模板:智能建站与自助搭建高效解决方案  宝塔面板创建网站无法访问?如何快速排查修复?  建站主机与虚拟主机有何区别?如何选择最优方案?  如何高效配置香港服务器实现快速建站?  再谈Python中的字符串与字符编码(推荐)  如何配置WinSCP新建站点的密钥验证步骤? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。