`
izuoyan
  • 浏览: 9376549 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JS上传文件前预览本地图片(转)

阅读更多

例子如下:

< input id="file" type="file" onfocus="javascript:ShowImage(this.value,document.getElementById('img'))">
< br />
< img id="img" STYLE="visibility:hidden" height="100px" width="100px">

< script language="javascript" type="text/javascript">
//==============================
//功能:Javascript本地图片预览
//说明:简单的判断了文件的合法性
//适用于:上传文件前预览本地图片
//==============================
function ShowImage(value,img)
{
//alert(value);
//检测盘符
//alert(value.indexOf(':'));
//检测文件是否有扩展名
//alert(value.length-value.lastIndexOf('.'));
//取文件扩展名
//alert(value.substr(value.length-3,3));
//检测文件扩展名是否合法
//alert(CheckExt(value.substr(value.length-3,3)));

if(value.length>5&&value.indexOf(':')==1&&(value.length-value.lastIndexOf('.'))==4&&CheckExt(value.substr(value.length-3,3)))
{
img.src=value;
img.alt="本地图片预览";
img.style.visibility="visible";
}
else
{
img.style.visibility="hidden";
}
}
//检查扩展名是否合法,合法返回True
function CheckExt(ext)
{
//这里设置允许的扩展名
var AllowExt="jpg|gif|jpeg|png|bmp";
var ExtOK=false;
var ArrayExt;
if(AllowExt.indexOf('|')!=-1)
{
ArrayExt=AllowExt.split('|');
for(i=0;i<ArrayExt.length;i++)
{
if(ext.toLowerCase()==ArrayExt[i])
{
ExtOK=true;
break;
}
}
}
else
{
ArrayExt=AllowExt;
if(ext.toLowerCase()==ArrayExt)
{
ExtOK=true;
}
}
return ExtOK;
}
< /script>

使用new创建对象的过程。
(1)当解释器遇到new操作符时便创建一个空对象;
(2)开始运行class1这个函数,并将其中的this指针都指向这个新建的对象;
(3)因为当给对象不存在的属性赋值时,解释器就会为对象创建该属性,例如在class1中,当执行到this.p1=s这条语句时,就会添加一个属性p1,并把变量s的值赋给它,这样函数执行就是初始化这个对象的过程,即实现构造函数的作用;
(4)当函数执行完后,new操作符就返回初始化后的对象。
通过这整个过程,JavaScript中就实现了面向对象的基本机制。由此可见,在JavaScript中,function的定义实际上就是实现一个对象的构造器,
prototype是一个JavaScript对象,可以为prototype对象添加、修改、删除方法和属性。从而为一个类添加成员定义。
了解了函数的prototype对象,现在再来看new的执行过程。
(1)创建一个新的对象,并让this指针指向它;
(2)将函数的prototype对象的所有成员都赋给这个新对象;
(3)执行函数体,对这个对象进行初始化操作;
(4)返回(1)中创建的对象。
和上一节介绍的new的执行过程相比,多了用prototype来初始化对象的过程,这也和prototype的字面意思相符,它是所对应类的实例的原型。这个初始化过程发生在函数体(构造器)执行之前,所以可以在函数体内部调用prototype中定义的属性和方法,

分享到:
评论

相关推荐

    JS+asp.net+图片上传+预览+支持多上传+上传前预览

    在本文中,我们将深入探讨如何使用JavaScript(JS)与ASP.NET技术实现图片上传、预览以及支持多文件上传和上传前预览的功能。这个技术组合是现代Web应用中常见的需求,尤其是在用户交互丰富的网站和应用中。 首先,...

    html网页js打开文件对话框带预览框.JS实现文件上传前先本地预览功能

    在网页开发中,提供用户上传文件的功能是常见的需求,而为了提升用户体验,文件预览功能变得尤为重要。"html网页js打开文件对话框带预览框.JS实现文件上传前先本地预览功能"这一主题主要关注如何利用JavaScript来...

    js读取本地图片进行预览,上传服务器

    在JavaScript中,本地图片的预览和上传到服务器是一个常见的需求,特别是在Web应用中,比如社交媒体、博客编辑器或者在线图像处理工具。本项目着重于实现这个功能,提供了源码和工具来帮助开发者轻松实现这一过程。...

    上传文件前,本地预览图片功能,支持所有主流浏览器

    在本主题中,我们将深入探讨如何实现"上传文件前,本地预览图片功能,支持所有主流浏览器"。 首先,我们需要了解这个功能的核心技术——HTML5的File API。File API提供了在浏览器中读取、操作和处理文件的能力,这...

    图片上传本地预览插件

    综上所述,图片上传本地预览插件涉及到的技术点广泛,包括前端的图片预览、文件操作、用户交互、安全性,以及后端的文件接收和验证。在开发过程中,需要综合考虑性能、用户体验和安全性,才能构建一个完善的图片上传...

    详解nodejs实现本地上传图片并预览功能(express4.0+)

    写在前面:计划实现图片上传预览功能,但是本地图片上传所获得路径为 C:\fakepath\”+文件名的形式,得不到文件真实路径,所以无法直接预览,于是采用将图片上传至服务器,传回服务器路径,实现预览。前端采用通过...

    jsp 本地图片上传前的预览

    在用户上传图片之前提供预览功能,能够提升用户体验,让用户在正式提交前确认图片效果。本项目着重讨论如何在Java JSP环境下实现本地图片的预览功能,结合jQuery库来增强前端交互。 首先,我们要理解JSP(Java...

    jQuery点击头像上传本地预览裁剪图片

    这个功能允许用户在上传头像前预览并裁剪图片,提高了上传过程的可控性和便捷性。下面我们将详细探讨这一技术实现的各个环节。 首先,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画制作以及...

    图片上传(图片预览+文件类型验证)

    本文将详细讲解如何实现“图片上传(图片预览+文件类型验证)”这一功能,主要涵盖以下几个核心知识点: 1. **前端图片预览**: 在用户选择图片文件后,提供预览功能可以提升用户体验。这通常通过HTML5的File API来...

    vue组件js图片查看点击预览大图并下载高清大图到本地

    这个名为"vue组件js图片查看点击预览大图并下载高清大图到本地"的项目,是基于Vue 2.5.2版本实现的,它专注于为PC端用户提供图片预览和下载功能,但不支持IE浏览器。下面我们将详细探讨实现这些功能的关键知识点。 ...

    利用getObjectURL获取图片路径实现本地预览上传图片

    为了提供更好的用户体验,开发者可以利用HTML5的一些特性,如`URL.createObjectURL()`方法,来实现在上传前对图片进行本地预览。这个功能允许用户在正式提交之前看到即将上传的图片效果,提高了交互性和准确性。 `...

    纯javascript实现上传图片前图片预览,判断图片大小

    在本文中,我们将深入探讨如何使用纯JavaScript实现上传图片前的预览功能,并且检查图片的大小,确保兼容性覆盖到IE7至IE10、Firefox以及Chrome等主流浏览器。这个功能对于用户交互体验有着重要的作用,因为它允许...

    Jquery 表单验证+本地图片上传-切割-预览

    在本项目中,"Jquery 表单验证+本地图片上传-切割-预览"是一个综合性的前端开发实例,它涵盖了几个重要的JavaScript库和技术,包括jQuery、表单验证、图片上传、图片切割以及预览功能。以下是这些知识点的详细解释:...

    ie8下上传图片无法预览本地图片解决方法技术资料

    ### IE8下上传图片无法预览本地图片解决方法技术资料 #### 背景与问题描述 在Web开发过程中,特别是在处理旧版本浏览器兼容性问题时,经常会遇到各种各样的挑战。Internet Explorer 8(IE8)作为一款较早的浏览器...

    jquery 本地上传图片预览Demo

    在本文中,我们将深入探讨如何使用jQuery实现本地图片上传预览功能,这是一项常见的Web开发需求,尤其是在构建交互式用户界面时。jQuery是一款强大的JavaScript库,它简化了DOM操作、事件处理、动画制作以及Ajax交互...

    html5+js本地图片预览

    在这个“html5+js本地图片预览”的主题中,我们将深入探讨如何利用HTML5的File API和JavaScript来实现在用户选择图片后即时预览,以及鼠标悬停时展示大图的效果。 1. **File API**:HTML5的File API允许开发者在...

    本地图片上传即时预览

    尽管本地文件预览不涉及服务器通信,但在某些场景下(如Web Workers)仍需考虑这个问题。 7. **兼容性**:虽然现代浏览器大都支持File API,但老版本的IE(尤其是IE9及以下)可能需要使用Flash或其他插件来实现类似...

    JavaWeb在线预览文件

    - PDF.js:这是一个由Mozilla开发的JavaScript库,专门用于在浏览器中渲染PDF文件,提供了良好的跨平台支持。 - HTML5的FileReader API:用于在浏览器端读取本地文件,可以用于上传文件后进行预览。 - 图片处理库...

    js上传图片预览

    在JavaScript中,实现图片上传前的本地预览是一项常见的需求,尤其在网页表单或社交媒体应用中。这个功能允许用户在正式提交之前查看所选图片的效果,提高用户体验。本篇文章将详细探讨如何利用JavaScript实现这一...

    html5上传视频和图片 可预览上传 手机端HTML5+js 多文件上传

    在HTML5中,`&lt;input type="file"&gt;`元素得到了极大的增强,它允许用户选择本地文件进行上传,并且可以通过JavaScript进行更深入的控制。当`multiple`属性被添加到这个元素时,用户可以选择多个文件进行上传,这实现了...

Global site tag (gtag.js) - Google Analytics