首页
学习
活动
专区
工具
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:读取本地图片文件并显示

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

5.2K10

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

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

4.9K20
  • HTML5中的拖放功能

    实现拖放的过程中数据交换。 DataTransfer对象: 属性 第一,dropEffect属性:用来设置或获取拖拽操作的类型 和 要显示的光标类型。...最后,把添加监听事件的处理函数DragStart()追加到window.onload事件中。...如:FileList对象,File对象,Blob接口,FileReader接口 增加的标签特性 在html5中file类型的表单元素增加了multiple特性和accept特性 multiple特性...input type="file" multiple/> 得到一个FileList对象,是一个File对象的列表 accept特性 规定了可通过文件上传提交的文件类型,实现了打开文件窗口时...,默认选中指定的文件类型: input type="file" accept="image/gif"/> FileList对象和File对象 在FileList对象里的每一个文件又是一个File对象

    2.6K10

    JavaScript 如何读取本地文件

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

    9.9K30

    JavaScript 如何读取本地文件

    出于安全和隐私的原因,web 应用程序不能直接访问用户设备上的文件。如果需要读取一个或多个本地文件,可以通过使用input file和FileReader来实现。...input type="file" id="fileInput"> 如果想允选择多个文件,可以添加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 : 设置或返回不支持input type="file" />显示替代的文字 disable...: 设置或返回是否禁用 multiple : 如果使用该属性,则字段可接受多个值.通过input:file的属性files可以看到现在是选择了3个文件,返回的是一个文件列表数组 ?...,然后在将返回结果显示在前端,这样的操作性能开销太大,如果图片很多,就比较慢了。...它提供了一个异步的API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据。...这里的小文件通常是指图像与 html 等格式的文件。 处理事件 FileReader 包含了一套完整的事件模型,用于捕获读取文件时的状态,下面归纳了这些事件。

    2.7K10

    HTML5之API

    HTML5就是牛,可以直接播放音视频,还可以作图; 一、HTML5中播放视频和音频:   加载时直接播放音频的方式:new Audio("BY2.mp3").play(); div> 的时候,指定包含的JS代码会运行在一个全新的javaScript环境中,与其创建者脚本隔离;该新的运行环境有一个全局对象WorkerGlobalScope;WorkerGlobalScope...;提供了操作二进制数据的接口,在其基础上,实现了FielList对象、File对象、FileReader对象等操作文件的API;在支持input type="file">的浏览器中,元素上的files...属性就是一个FileList对象,代表多个File对象,一个Flle对象就是一个Blob对象;FileReader对象可以访问Blob中的字符或字节;   div> 文件上传...input multiple="multiple" type="file" accept="*" onchange="fileInfo(this.files)"/> div>

    53010

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

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

    59210

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

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

    86630

    BootStrap应用开发学习入门

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

    17.6K20

    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的字符串...}>input> div class="slds-text-body_small">{fileName}...格式化以后的效果 ,我们可以对数组进行二次操作,通过逗号进行分割就可以获取每一个cell对应的值,通常我们获取数据中的for循环 index为1,即跳过首行标题行。 ?...总结:篇中主要讲述了关于lwc中文件上传以及文件解析的简单操作。第一种方式适合大文件上传,可自定制化不强但功能强悍。第二种方式可以对数据在apex端进行相关解析,但是有大小的限制。

    67731

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

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

    1.3K30

    10个HTML文件上传技巧

    简介 上传文件功能可以说是项目经常出现的需求。从在社交媒体上上传照片到在求职网站上发布简历,文件上传无处不在。在本文中,我们将讨论 HTML文件上传支持的10种用法,希望对你有用。 1....多文件上传 如果我们想上传多个文件,需要在标签上添加 multiple 属性: input type="file" id="file-uploader" 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.6K20

    01 . 前端之HTML

    ,甚至都不能跑在同一种浏览器的不同版本中. 1997年,制定首个版本ECMA-262. 1999年2月,ES 3,支持更强大的正则表达式等....动态网页指的是网页的内容是动态的,URL不变,里面的内容变化,例如访问一个查询页面,提交的关键字不同,下面表格的内容变化. 动态网页,表现的是浏览器端内容的变化,本质上他是一种服务端动态网页技术....-- 要想多选的话,通过multiple就可以多选了,size显示多个选项 --> 上显示的文本内容 # type = "text","password" lable fieldse 的是套接字链接,基于TCP协议,使用WebSocket之后,实际上在服务器端额浏览器之间建立一个套接字连接,可以进行双向的数据传输,WebSocket的功能是很强大的,使用起来也灵活,可以使用不同的场景

    1.6K50
    领券