JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】

yizhihongxing

下面是JS实现获取图片大小和预览的方法完整实例攻略:

目录

  1. 需求说明
  2. 技术方案
  3. 具体实现
  4. 完整代码
  5. 总结

1. 需求说明

我们想要做一个功能,可以让用户上传图片,并且在上传图片前可以对图片进行大小预览。同时,需要能够兼容IE和其它浏览器。

2. 技术方案

我们可以使用HTML5的File API来获取图片大小和预览图片,在IE浏览器中我们可以使用IE浏览器特有的ActiveXObject来代替File API实现相同的效果。

3. 具体实现

3.1 获取图片大小

使用File API获取图片的大小,示例代码如下:

function getImageSize(inputFile) {
  var file = inputFile.files[0];
  var img = new Image();
  var reader = new FileReader();
  reader.readAsDataURL(file);
  reader.onload = function(e) {
    img.src = e.target.result;
    img.onload = function() {
      console.log("图片大小为:" + img.width + "*" + img.height);
    }
  }
}

上述代码中,我们首先获取了用户上传的文件和一个Image对象。通过FileReader对象的readAsDataURL方法,我们将图片文件读入内存中,然后通过将图片的dataURL设置到Image对象的src属性中,来获取图片的大小。

3.2 预览图片

同样使用File API来预览图片,示例代码如下:

function previewImage(inputFile, imgElement) {
  var file = inputFile.files[0];
  var reader = new FileReader();
  reader.readAsDataURL(file);
  reader.onload = function(e) {
    imgElement.src = e.target.result;
  }
}

上述代码中,我们同样是先获取用户上传的文件,然后将图片的dataURL赋值给img标签的src属性,来完成图片的预览。

4. 完整代码

下面是结合上述两个示例的完整代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>图片上传</title>
  </head>
  <body>
    <input type="file" onchange="getImageSize(this);previewImage(this, img);" />
    <img id="img" />
    <script>
      function getImageSize(inputFile) {
        var file = inputFile.files[0];
        var img = new Image();
        var reader = new FileReader();
        reader.readAsDataURL(file);
        reader.onload = function(e) {
          img.src = e.target.result;
          img.onload = function() {
            console.log("图片大小为:" + img.width + "*" + img.height);
          }
        }
      }

      function previewImage(inputFile, imgElement) {
        var file = inputFile.files[0];
        var reader = new FileReader();
        reader.readAsDataURL(file);
        reader.onload = function(e) {
          imgElement.src = e.target.result;
        }
      }
    </script>
  </body>
</html>

5. 总结

使用File API可以轻松地实现获取图片大小和预览图片的功能。同时,为了兼容IE浏览器,我们还可以使用ActiveXObject来代替File API实现相同的效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • JavaScript实现简易飞机大战

    下面我将详细讲解“JavaScript实现简易飞机大战”的完整攻略。 前言 在开始编写代码之前,我们需要先了解一下游戏的基本结构和要素,主要包括游戏界面、玩家飞机、敌机、子弹、游戏结束等。在了解了这些基本要素后,我们才能更好的开始编写游戏代码。 游戏界面 游戏的界面主要由背景和玩家飞机、敌机等元素组成。我们可以使用HTML和CSS创建一个游戏界面,其中CSS…

    JavaScript 2023年6月11日
    00
  • Javascript的数组与字典用法与遍历对象的属性技巧

    Javascript的数组与字典用法 数组 数组是Javascript中常用的数据结构之一,它是一种有序的、可重复的数据集合,可以通过索引来访问其中的元素。 定义和初始化数组 Javascript中定义数组有两种方式,一种是使用Array构造函数,另一种是使用数组字面量。 使用Array构造函数可以这样定义一个空数组: var arr = new Array…

    JavaScript 2023年5月27日
    00
  • JavaScript中数组对象的那些自带方法介绍

    下面就为大家详细介绍JavaScript中数组对象的自带方法。 1. 增加、删除、修改元素 push、pop、shift、unshift方法 push方法:在数组的末尾插入一个或多个元素,并返回数组新的长度。 pop方法:删除数组的最后一个元素,并返回该元素的值。 shift方法:删除数组的第一个元素,并返回该元素的值。 unshift方法:在数组的开头插入…

    JavaScript 2023年5月27日
    00
  • JS实现打字游戏

    JS实现打字游戏可以分为以下几个步骤: 界面设计:需要设计一个游戏界面,包含游戏主体、计分、倒计时等功能。可以使用HTML和CSS实现。 数据源准备:需要准备好游戏需要使用到的文本内容,可以通过数组存储。 代码实现:分为游戏初始化、键盘事件监听、计分等多个功能模块。 详细说明如下: 游戏初始化 游戏初始化需要以下两个步骤: 步骤1:获取游戏需要用到的DOM元…

    JavaScript 2023年5月28日
    00
  • Js利用console计算代码运行时间的方法示例

    当我们需要测试我们写的代码的运行时间以找到性能瓶颈时,可以使用JavaScript中的console对象来帮助我们计算代码运行的时间。下面是使用console计算代码运行时间的方法示例及其详细攻略: 显式地调用console.time()方法和console.timeEnd()方法 console.time()方法可以起到计时的作用,它需要传入一个唯一的标识…

    JavaScript 2023年5月27日
    00
  • 判断js数据类型的函数实例详解

    判断js数据类型的函数实例详解 背景 在JavaScript中,数据类型多种多样,包括了数字、字符串、布尔值、数组、对象、函数等。而有些时候,需要用JavaScript代码来对不同的数据类型做不同的操作。因此,了解如何判断这些数据类型就显得非常重要了。本文将详细讲解如何通过函数来判断JavaScript中不同数据类型。 判断数据类型的函数 typeof函数 …

    JavaScript 2023年5月27日
    00
  • JavaScript面向对象之Prototypes和继承

    JavaScript面向对象之Prototypes和继承 JavaScript是一门支持面向对象编程的语言,原型(prototype)是JavaScript中非常重要的一个概念。在这篇文章中,我们将讲解JavaScript中的原型、原型链以及如何使用原型实现继承。 1. 构造函数与原型 在JavaScript中,每个函数都有一个prototype属性,这个属…

    JavaScript 2023年5月27日
    00
  • JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件

    下面是JavaScript高级程序设计阅读笔记(十八)js跨平台的事件的详细攻略: 1. 事件处理程序 事件是指用户或浏览器自身执行的某种动作。JS可以通过事件处理程序来响应这种动作。 1.1 HTML事件处理程序 HTML事件处理程序是在标签中通过指定事件处理代码的方式来处理事件。 例如在HTML中定义一个按钮: <button onclick=&q…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部