`

input file控件上传图片之前进行图片预览

阅读更多

在上传图片前能否实现图片预览


解决思路:


在上传控件浏览到文件后通过 onpropertychange 事件改变隐藏图片的路径,如果文件是图片格式,正常显示,否则提示格式不正确。
具体步骤:

1.先插入一个上传表单控件和一隐藏的空白图片。

<input type="file" id="upload">
<img id="pic" style="display:none">

2.在上传控件的属性改变(本例中为选择文件后),设置隐藏图片的地址为所选择的文件地址。

<script for="upload" event="onpropertychange">   
pic.src=this.value
</script>

3.在隐藏图片加载完后显示。

<script for="pic" event="onload">
this.style.display=""    //以行内元素方式显示隐藏的图片
</script>

4.如果所选择文件不是图片格式或者路径不正确,触发onerror事件,隐藏图片并弹出警告框。

<script for="pic" event="onerror"> 
//当 id 为 pic 的对象在装载过程中发生错误时触发此段代码
this.style.display="none"   //隐藏图片
alert("所选文件并非图片,请重新选择")
</script>

5.完整代码。

<script for="upload" event="onpropertychange">   
//当 id 为 upload 的对象上的属性发生变化时调用此段代码
//设置隐藏图片的地址为上传控件框的值
pic.src=this.value
</script>

<script for="pic" event="onload">
//当 id 为 pic 的对象在装载完成时触发此段代码
this.style.display=""    //以行内元素方式显示隐藏的图片
</script>

<script for="pic" event="onerror"> 
//当 id 为 pic 的对象在装载过程中发生错误时触发此段代码
this.style.display="none"   //隐藏图片
alert("所选文件并非图片,请重新选择")
</script>

<input type="file" id="upload">
<img id="pic" style="display:none">

技巧:显示对象除了设置display为空,还可以设为 inline 和 block

特别说明:

本例通过用 onpropertychange 捕获对象的属性变化事件,onload 捕获图片加载 完成后的事件,onerror 捕获图片加载时的出错事件,并通过script标签的for和event属性绑定到对象,而实现的上传图片预览效果。
1. onpropertychange 当在对象上发生对象上发生属性更改时触发。
2. onload 在浏览器完成对象的装载后立即触发。
3. onerror 当对象装载过程中发生错误时触发。
4. event 设置或获取脚本编写用于的事件。
5. for 设置绑定到事件脚本的对象,再获取脚本所绑定到的对象是用 htmlFor 。

分享到:
评论

相关推荐

    jquery封装的input file控件

    "jquery封装的input file控件"是一种解决方法,通过jQuery库来改进文件上传控件的外观和交互体验。 jQuery是一个流行的JavaScript库,它简化了DOM操作、事件处理、动画效果和Ajax交互等任务。在本案例中,开发者...

    单file控件批量上传文件

    在“单file控件批量上传文件”的实现过程中,JavaScript负责前端的文件选取、预览、进度显示等功能。它会遍历用户选择的每个文件,创建FormData对象,将文件添加到FormData中,然后通过XMLHttpRequest或fetch API...

    ASP图片上传组件 图片批量上传控件 图片上传插件

    6. **图片处理**:可能需要对上传的图片进行缩放、裁剪、质量调整等操作,可以使用第三方库如ImageMagick或者自行编写代码实现。 7. **数据库记录**:通常会将图片的元数据(如文件名、大小、上传时间等)存储到...

    美化File控件-图片按键上传文件

    【标题】"美化File控件-图片按键上传文件"涉及的知识点主要集中在前端网页的文件上传功能上,尤其是如何在用户界面中实现美观且实用的文件上传组件。在这个主题下,我们将探讨HTML5的File API、CSS样式美化、...

    Bootstrap File Input 控件离线文档

    Bootstrap File Input是一款强大的文件上传控件,专为Bootstrap框架设计,提供美观且功能丰富的文件选择、预览和上传功能。这个离线文档包含了该控件的详细信息,帮助开发者在没有网络连接的情况下也能深入理解和...

    HTML input type=file文件选择表单元素.docx

    HTML5 之前的 input type=file 元素只能一次上传一张图片,无法满足一次上传多图的交互需求。因此,许多场景下,使用 swfupload.js 来代替原生的 file input 表单元素。 二、HTML5 中的 input type=file 文件选择...

    js上传图片预览图片.pdf

    本文将对JS上传图片预览技术进行详细的介绍 и分析。 1. 文件上传输入限制 首先,在HTML文件中,我们需要添加一个文件上传input控件 `&lt;input type="file" id="uploadImg" onchange="onUploadImgChange(this)"&gt;`,...

    图片上传控件(带预览功能)

    3. **图片预览**:在上传图片之前,预览功能让用户能够检查所选图片是否符合预期。这个功能通常通过HTML5的File API实现,可以读取到本地文件,生成一个数据URL,然后用此URL设置图片元素的`src`属性,达到预览的...

    上传图片控件

    同时,服务器端也可以根据需求对图片进行进一步处理,如减小尺寸、调整质量。 8. **权限控制**:在用户授权范围内,控制图片的访问权限,保护用户隐私。 在提供的文件列表"up"中,可能包含了实现上传图片控件的...

    Web(前端) input标签 上传图片支持预览,计算图片大小 源码

    为了提升用户体验,我们可以实现图片上传时的预览功能,让用户在提交之前能够看到所选图片的效果。同时,计算图片的大小对于限制上传文件大小或者优化存储空间来说至关重要。以下将详细介绍如何实现这两个功能。 ...

    使用FileUpload上传图片实现图片预览

    `FileUpload`控件在客户端表现为一个HTML的`&lt;input type="file"&gt;`元素,允许用户选择本地文件进行上传。 #### 图片预览的实现原理 图片预览的核心在于读取用户选择的文件,并将其转换为可以在网页上显示的格式。在...

    asp.net上传时图片预览

    接着,为了实现图片预览,我们可以在前端使用JavaScript或jQuery来实现。当用户选择图片后,利用FileReader API读取文件内容并转化为base64编码,然后设置到img标签的src属性,实现预览效果。在ASP.NET MVC中,可以...

    easyUpload.js图片(视频)上传控件

    控件通过监听HTML元素(如`&lt;input type="file"&gt;`)的change事件,当用户选择文件后,触发文件的读取和上传操作。 2. **自定义上传**: easyUpload.js的一大特点是支持自定义上传界面和行为。开发者可以根据自己的...

    html5中的file控件支持多文件选择上传

    HTML5中的File控件是现代Web开发中一个重要的特性,它极大地增强了用户在网页上处理文件的能力。在HTML4时代,用户只能通过单个文件选择输入框(`&lt;input type="file"&gt;`)来选择一个文件进行上传,而HTML5引入了对多...

    自定义图片上传控件

    1. **HTML结构**:创建一个基础的HTML元素作为上传控件的基础,可以是`&lt;input type="file"&gt;`标签,通过设置`accept`属性限制用户只能选择图片文件。 ```html &lt;input type="file" id="imageUpload" accept="image/*...

    H5实现多图片预览上传,可点击可拖拽

    本文将深入探讨如何使用H5实现多图片预览、上传功能,并支持点击和拖拽操作,同时保持界面的美观和接口的简洁性。在图片上传控件的设计中,用户体验和功能实现是两个关键要素。 首先,我们要了解HTML5引入的新特性...

    asp.net图片上传控件

    - 图片处理:服务器端可能需要对上传的图片进行处理,如缩放、裁剪、水印等,这通常涉及图像处理库,如ImageSharp、FreeImage等。 - 服务器存储:上传的图片应存储在安全的服务器目录,考虑使用数据库存储文件路径...

    读取input:file的路径并显示本地图片的方法

    在网页开发中,`&lt;input type="file"&gt;` 是一个常见的文件上传控件,它允许用户选择本地的文件,如图片。然而,由于安全原因,现代浏览器并不直接提供所选文件的完整路径,而是返回一个相对安全的文件名或者一个沙箱内...

    JS上传图片预览

    在网页开发中,JS上传图片预览功能是一个常见的需求,尤其在用户需要在提交之前查看即将上传图片的效果时。这个功能允许用户在正式上传图片到服务器之前,在客户端就能看到图片的预览效果,提升了用户体验。本文将...

    图片上传即时预览

    在图片上传的场景中,ASP.NET通常负责处理文件上传请求,验证文件类型和大小,存储图片到服务器,并可能对图片进行处理,如缩放、裁剪等。 jQuery则是一个轻量级的JavaScript库,简化了HTML文档遍历、事件处理、...

Global site tag (gtag.js) - Google Analytics