首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在<input multiple> with FileReader only上循环显示div网格中的最后一个图像

在使用<input multiple>FileReader循环显示div网格中的最后一个图像时,可以按照以下步骤进行操作:

  1. 首先,使用HTML中的<input type="file" multiple>元素创建一个文件选择器,允许用户选择多个文件。
  2. 在JavaScript中,使用FileReader对象来读取用户选择的文件。可以使用FileReader.readAsDataURL()方法将文件转换为DataURL,以便在网页中显示。
  3. 创建一个包含图像的div网格,用于显示选择的图像。可以使用CSS来设置网格的样式和布局。
  4. 在JavaScript中,使用change事件监听文件选择器的变化。当用户选择文件后,触发change事件,并获取选择的文件列表。
  5. 遍历文件列表,使用FileReader读取每个文件,并将其转换为DataURL。
  6. 将转换后的DataURL赋值给div网格中的最后一个图像元素的src属性,以显示图像。

以下是一个示例代码:

HTML代码:

代码语言:txt
复制
<input type="file" id="fileInput" multiple>
<div id="imageGrid"></div>

CSS代码:

代码语言:txt
复制
#imageGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
}

#imageGrid img {
  width: 100%;
  height: auto;
}

JavaScript代码:

代码语言:txt
复制
document.getElementById('fileInput').addEventListener('change', function(e) {
  var files = e.target.files;
  var imageGrid = document.getElementById('imageGrid');
  
  // 清空之前的图像
  imageGrid.innerHTML = '';
  
  // 遍历文件列表
  for (var i = 0; i < files.length; i++) {
    var file = files[i];
    var reader = new FileReader();
    
    // 读取文件
    reader.readAsDataURL(file);
    
    // 读取完成后的回调函数
    reader.onload = function(e) {
      var img = document.createElement('img');
      img.src = e.target.result;
      
      // 将图像添加到div网格中
      imageGrid.appendChild(img);
    }
  }
});

这段代码会创建一个包含文件选择器和div网格的页面。当用户选择文件后,会触发change事件,然后遍历文件列表,使用FileReader读取每个文件,并将其转换为DataURL。最后,将转换后的图像添加到div网格中进行显示。

注意:以上代码仅为示例,实际应用中可能需要进行错误处理、图像大小调整等其他操作。另外,腾讯云相关产品和产品介绍链接地址可以根据具体需求进行选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

input file文件上传(multiple)及FileReader:读取本地图片文件并显示

而HTML5FileReader接口支持本地预览,FileReader接口主要是将文件读入内存,并提供相应方法,来读取文件数据,当然就能显示本地图片不需上传了。...Javascript 通过getElementById获取节点,判断浏览器兼容性,对于不支持FileReader接口浏览器将给出一个提示并禁用input,否则监听inputchange事件。...readFile,我们首先获取file对象,然后通过filetype属性来检测文件类型,我们当然只允许选择图像类型文件,然后我们new一个FileReader实例,并调用readAsDataURL...方法来读取选中图像文件,最后onload事件,获取到成功读取文件内容,并以插入一个img节点方式显示选中图片。...type="file" multiple id="inputs"/> //multiple(多文件上传) $(document

5.1K10

WebGL简易教程(十五):加载gltf模型

从以上特性可以看出,glTF特别方便与互联网使用场景,便于传输且预处理程度小。在这篇教程,就通过一个带纹理地形文件,具体解析以下glTF格式,顺便加深一下WebGL初始化数据理解。 2....="main()"> <canvas id...primitive表达一个图元,描述每个网格是怎样几何图形。其attributes对象表达了图元顶点属性。...materials对象又指向了纹理对象textures,textures对象通过索引引用了一个sampler对象和一个image对象。image对象包含了一个uri,引用了一个外部图像文件。...samplers是一个采样器,用于设置纹理具体采样方式,其设置参数与WebGL设置纹理方式向对应。 2.2.3.

4.8K20
  • TP5框架实现一次选择多张图片并预览方法示例

    分享给大家供大家参考,具体如下: 点击选择图片(可选多张),确定后将选择图片显示页面上,已经选择图片也可以删除,点击提交将图片提交给后台。 1、效果图 ?..."); if(typeof FileReader==='undefined'){ alert("抱歉,你浏览器不支持 FileReader"); input.setAttribute('disabled...= function(){ this.remove(); // 页面删除该图片元素 delete dataArr[this.index]; // 删除dataArr对应数据 }...class="container" <label 请选择一个图像文件:</label <button id="select" (重新)选择图片</button <button id="add"...--用input标签并选择type=file,记得带上multiple,不然就只能单选图片了-- <button id="submit" 提交</button </form </div </body

    71830

    JavaScript 如何读取本地文件

    出于安全和隐私原因,web应用程序不能直接访问用户设备文件。如果需要读取一个或多个本地文件,可以通过使用input file和FileReader来实现。... 如果想允选择多个文件,可以添加multiple属性: <input type="file" id="fileInput" multiple...: 1234567890, // 根据用户系统最新更改时间戳 lastModifiedDate: // 最后修改时间戳日期对象 } 读取文件 读取文件,主要使用FileReader类。...error:无法读取到文件信息条件下触发。 load:成功加载后就会触发。 在下面的示例,我们将使用readAsText和readAsDataURL方法来显示文本和图像文件内容。...我们示例,我们使用readAsText方法读取文件,因此result将是一个文本字符串。 例二:显示本地选择图片 如果我们想要显示图像,将文件读取为字符串并不是很有用。

    9.7K30

    JavaScript 如何读取本地文件

    出于安全和隐私原因,web 应用程序不能直接访问用户设备文件。如果需要读取一个或多个本地文件,可以通过使用input file和FileReader来实现。... 如果想允选择多个文件,可以添加multiple属性: <input type="file" id="fileInput" multiple...input file 具有一个files属性,该属性是File对象列表(可能有多个选择文件)。 File对象如下所示: 读取文件 读取文件,主要使用是[FileReader][1]类。...error:无法读取到文件信息条件下触发。 load:成功加载后就会触发。 在下面的示例,我们将使用readAsText和readAsDataURL方法来显示文本和图像文件内容。...我们示例,我们使用readAsText方法读取文件,因此result将是一个文本字符串。 例二:显示本地选择图片 如果我们想要显示图像,将文件读取为字符串并不是很有用。

    4.7K20

    浅谈h5文件上传

    defaultValue : 设置或返回初始值 value : 保存了用户知道文件名称(只读属性) alt : 设置或返回不支持显示替代文字 disable...: 设置或返回是否禁用 multiple : 如果使用该属性,则字段可接受多个值.通过input:file属性files可以看到现在是选择了3个文件,返回一个文件列表数组 ?...,然后将返回结果显示在前端,这样操作性能开销太大,如果图片很多,就比较慢了。...它提供了一个异步API,使用该API可以浏览器主线程异步访问文件系统,读取文件数据。...这里小文件通常是指图像与 html 等格式文件。 处理事件 FileReader 包含了一套完整事件模型,用于捕获读取文件时状态,下面归纳了这些事件。

    2.7K10

    Html5 学习系列(四)文件操作API

    HTML5标准,默认提供了操作文件API让这一切直接标准化。...几个重要JS对象 1):FileList对象   它是File对象一个集合,Html4标准中文件上传控件只接受一个文件,而在新标准,只需要设置multiple,就支持多文件上传,所以从此标签获取...demo:  ;下面是关于FileList对象API原型...三个方法都介绍一下: readAsBinaryString(Blob blob);  → 传入一个Blob对象,然后读取数据结果作为二进制字符串形式放到FileReaderresult属性。...读取文件上传控件里文件并将内容已不同方式展现到浏览器里面实例   展示代码之前,之前我们操作一个图片文件,都是先将图片上传到服务器端,然后再使用一个img标签指向到服务器url地址,然后再进行一个使用第三方插件进行图片处理

    58610

    从零开始学 Web 之 HTML5(三)网络监听,全屏,文件读取,地理定位接口,应用程序缓存

    DataURL是将资源转换为base64编码字符串形式,并且将这些内容直接存储url,这样做可以优化网站加载速度和执行效率。 abort():中断文件读取。...比如现在有一需求,选择图片并实时显示(类似在网页更换头像,可以实时预览图片): <!...2.读取文件,获取DataURL * 2.1.说明没有任何返回值:void:但是读取完文件之后,它会将读取结果存储文件读取对象result * 2.2.需要传递一个参数...(binary large object):文件(图片或者其它可以嵌入到文档类型) * 2.3:文件存储file表单元素files属性,它是一个数组,当有 multiple 属性时候这个数组值会有多个...,一般浏览器不允许获取,只有浏览器开启之后才能够获取。

    85830

    BootStrap应用开发学习入门

    该内边距是通过 .rows 外边距(margin)取负,表示第一列和最后一列行偏移。 网格系统是通过指定您想要横跨十二个可用列来创建。...偏移列 描述:偏移是一个用于更专业布局有用功能, 可用来给列腾出更多空间; 为了大屏幕显示使用偏移,请使用 .col-md-offset-*类,其中 * 范围是从 1 到 11。...嵌套列 描述:为了在内容嵌套默认网格,请添加一个 .row,并在一个已有的 .col-md- 列内添加一组 .col-md- 列; 简单说就是相对于父元素可以,再次对行进行等分或者不等分,相对于父元素十二份...添加四个像素内边距(padding)和一个灰色边框, 当鼠标悬停在图像时,会动画显示图像轮廓。...sr-only-focusable # 与 .sr-only 类结合使用,元素获取焦点时显示(如:键盘操作用户) .close #显示关闭按(使用通用关闭图标来关闭模态框和警告框) .caret

    17.5K20

    BootStrap应用开发学习入门

    该内边距是通过 .rows 外边距(margin)取负,表示第一列和最后一列行偏移。 网格系统是通过指定您想要横跨十二个可用列来创建。...偏移列 描述:偏移是一个用于更专业布局有用功能, 可用来给列腾出更多空间; 为了大屏幕显示使用偏移,请使用 .col-md-offset-*类,其中 * 范围是从 1 到 11。...嵌套列 描述:为了在内容嵌套默认网格,请添加一个 .row,并在一个已有的 .col-md- 列内添加一组 .col-md- 列; 简单说就是相对于父元素可以,再次对行进行等分或者不等分,相对于父元素十二份...添加四个像素内边距(padding)和一个灰色边框, 当鼠标悬停在图像时,会动画显示图像轮廓。...sr-only-focusable # 与 .sr-only 类结合使用,元素获取焦点时显示(如:键盘操作用户) .close #显示关闭按(使用通用关闭图标来关闭模态框和警告框) .caret

    14.6K30

    Salesforce LWC学习(二十七) File Upload

    /specification salesforce,上传附件是一个经常做操作,标准功能基础,lwc自然也封装了自定义实现。...进制字符串放在一个String bytes[i] = hex.mid(i << 1, 2); } //解码成指定charset字符串...}> {fileName}...格式化以后效果 ,我们可以对数组进行二次操作,通过逗号进行分割就可以获取每一个cell对应值,通常我们获取数据for循环 index为1,即跳过首行标题行。 ?...总结:篇主要讲述了关于lwc中文件上传以及文件解析简单操作。第一种方式适合大文件上传,可自定制化不强但功能强悍。第二种方式可以对数据apex端进行相关解析,但是有大小限制。

    66031

    10个对web开发人员有用HTML文件上传技巧

    简介 上传文件功能可以说是项目经常出现需求。从社交媒体上传照片到求职网站上发布简历,文件上传无处不在。本文中,我们将讨论 HTML文件上传支持10种用法,希望对你有用。 1....多文件上传 如果我们想上传多个文件,需要在标签上添加 multiple 属性: 现在,我们可以上传多个文件了...管理文件内容 成功上传文件后显示文件内容,站在用户角度上,如果上传之后,没有一个预览,就很奇怪也不体贴。 我们可以使用FileReader对象将文件转换为二进制字符串。...显示文件上传进度 更好用户体验是让用户知道文件上传进度,前面我们用过了FileReader以及读取和加载文件事件。...拖拽上传 不支持文件上传拖拽就有点 low 了,不是吗?我们来看看如何通过几个简单步骤实现这一点。 首先,创建一个拖放区域和一个可选区域来显示上传文件内容。

    1.3K30

    10个HTML文件上传技巧

    简介 上传文件功能可以说是项目经常出现需求。从社交媒体上传照片到求职网站上发布简历,文件上传无处不在。本文中,我们将讨论 HTML文件上传支持10种用法,希望对你有用。 1....多文件上传 如果我们想上传多个文件,需要在标签上添加 multiple 属性: 现在,我们可以上传多个文件了...管理文件内容 成功上传文件后显示文件内容,站在用户角度上,如果上传之后,没有一个预览,就很奇怪也不体贴。 我们可以使用FileReader对象将文件转换为二进制字符串。...显示文件上传进度 更好用户体验是让用户知道文件上传进度,前面我们用过了FileReader以及读取和加载文件事件。...拖拽上传 不支持文件上传拖拽就有点 low 了,不是吗?我们来看看如何通过几个简单步骤实现这一点。 首先,创建一个拖放区域和一个可选区域来显示上传文件内容。

    3K10

    vue开发类似淘宝商品评价页面(星级,上传多张图片)

    最近在写一个关于vue商城项目,然后集成移动端,开发需求中有一界面,类似淘宝商城评价界面!实现效果图如下所示: ? 评价页 ?...3.上传图片最多上传6张,图片不可拉伸,可删除,可点击放大左右滑动展示 具体实现关键代码 关于星级功能: 写一个五星数组,默认数组中有亮星级图片,用bool值判断是否变暗。...// 星星总数 var idx = index + 1 // 这代表选第idx颗星-也代表应该显示星星数量 // 进入if说明页面为初始状态 if...来设置图片上传 <input type="file" class="input-file" multiple="multiple" name="avatar" ref="avatarInput" @change...file" class="input-file" multiple="multiple" name="avatar" ref="avatarInput" @change="changeImage($event

    1.7K20

    WebGL简易教程(九):综合实例:地形绘制

    地形也就是DEM(数字高程模型),是由一组网格点组成模型,每个点都有x,y,z值;更简单来说,图像格式就可以作为DEM载体,只不过每个图像像素值代表是高程值。...添加了一个input按钮元素,用来导入DEM文件。...main()函数,为按钮定义了加载事件函数。函数通过FileReader()读取文件,读取函数为readDEMFile();接着进行绘制,绘制函数为onDraw()。 //......可以看到设置MVP矩阵函数 setMVPMatrix(),传递参数是Terrain对象包围盒,这一点与一篇教程是一样。...不同在于顶点索引组织。前面提到过,顶点数组点是从上至下,从左至右依次排列,所以每个网格、下、左、右四个不同点组成两个三角形。

    1.5K20
    领券