`
yuanyong
  • 浏览: 247874 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JavaScript 实现图片待上传预览

阅读更多

<html>
<head></head>
<script type="text/javascript"> 
function preview5(){ 
	document.getElementById("delImgButton").style.display = "none";
    var x = document.getElementById("file5"); 
	if(!x || !x.value) return; 
	var patn = /\.jpg$|\.jpeg$|\.gif$|\.bmp$/i;
	if(patn.test(x.value)){ 
		var imgType = checkImgType(x.value);
		var num = document.getElementById("num").value;
		if(num==3){
			alert("最多只能上传 3 张图片");return;
		}
		num++;
		document.getElementById("num").value = num;
		var img  = "img"+num;
		var y = document.getElementById(img); 
		if(y){ 
			y.src = "file://localhost/" + x.value; 
		}else{ 
			var imgObject=document.createElement("img"); 
			imgObject.setAttribute("src","file://localhost/"+x.value); 
			imgObject.setAttribute("width","180"); 
			imgObject.setAttribute("height","140"); 
			imgObject.setAttribute("id",img);
			imgObject.setAttribute("value",x.value);
			var delSpan = document.getElementById("delImgButton");
			//imgObject.setAttribute("onmouseover",function(){delSpan.style.display ="block"})
			imgObject.setAttribute("onclick",function(){delSpan.style.display ="block";document.getElementById("delImgId").value=this.id;})
			document.getElementById("form5").appendChild(imgObject);
			
			
		} 
	}else{ 
		alert("您选择的似乎不是图像文件。"); 
	}
}

function checkImgType(img){
	var jpgPatn = /\.jpg$|\.JPG$/i;
	var jpegPatn = /\.jpeg$|\.JPEG$/i;
	var gifPatn = /\.gif$|\.GIF$/i;
	var bmpPatn = /\.bmp$|\.BMP$/i;
	
	if(jpgPatn.test(img)){
		return "jpg";
	}else if(jpegPatn.test(img)){
		return "jpeg";
	}else if(gifPatn.test(img)){
		return "gif";
	}else if(bmpPatn.test(img)){
		return "bmp";
	}
}
function initImg(){
	document.getElementById("num").value = 0 ;
}

function delImg(){
	var imgId = document.getElementById("delImgId").value;
	var remImgObjcet = document.getElementById(imgId);
	document.getElementById("delImgButton").style.display = "none";
	document.getElementById("form5").removeChild(remImgObjcet);
	var returnId = imgId.substring(imgId.length,imgId.length-1);
	document.getElementById("num").value = parseInt(returnId)-1;
}

function imgV(){
	var i = document.getElementById("img1").value;
	alert(i);
	
}

</script> 

<title>img preview</title>
<body onload="initImg()">
<form name="form5" id="form5" method="post" action="#">
<input type="hidden" name="num" id="num" value="0"/>
<input type="hidden" name="delImgId" id="delImgId"/>
<input type="file" name="file5" id="file5"  onchange="preview5()"/> <br>
</form>
<div>
<span id="delImgButton" style="width:150px;height:20px;display:none;"><a href="#" onClick="delImg()">删除图片</a></span>
</div>
<input type="button" value="imgValue" onclick="imgV()">
</body>
</html>[/code="html"]
分享到:
评论

相关推荐

    另类待上传图片预览,效果还是可以的

    "另类待上传图片预览,效果还是可以的"这个标题表明我们关注的是一个非传统或者创新的图片预览解决方案,它能有效地展示待上传图片,并且在实际应用中表现良好。描述中的"希望对需要的朋友有所帮助"暗示了这是一个...

    多图片上传带图片预览功能

    - **upload**目录:可能用于存放待上传或已上传的图片文件。 - **images**目录:可能存放网站的静态图片资源,如图标、示例图片等。 综上所述,这个ASP程序实现了多图片选择、预览和上传的功能,涉及了HTML5的...

    一款基于JavaScript实现的多附件上传表单添加类库源码及例子程序

    本资源提供了一款基于JavaScript实现的多附件上传表单添加类库的源码和示例程序,这对于开发者来说是一个很好的学习和实践工具。 首先,让我们深入理解JavaScript在多附件上传中的作用。JavaScript是一种客户端脚本...

    javascript实现移动端 HTML5 图片上传预览和压缩功能示例

    这里涉及到`HTMLCanvasElement.toDataURL()`方法,它可以将Canvas的内容转换为data URI,从而实现图片的导出。我们可以先将图片绘制到Canvas上,然后调整Canvas的大小以达到压缩效果,最后再调用`toDataURL()`方法:...

    swfupload 和 plupload 图片上传 实时预览

    `swfupload`和`plupload`是两个流行的JavaScript库,它们提供了强大的文件上传功能,尤其是针对图片的实时预览。这两个工具使得用户可以在上传图片之前预览效果,提升用户体验。 `swfupload`是一款早期的文件上传...

    【JavaScript源代码】js实现头像上传并且可预览提交.docx

    本文将详细介绍如何利用JavaScript实现头像上传功能,并在不上传至服务器的情况下实现在客户端(浏览器)进行预览的功能。 #### 技术选型与实现思路 本文介绍的方法是通过在本地内存中预览所选图片,待用户确认后...

    Jcrop图片上传-预览-剪切效果展示

    2. **创建图片元素**:在HTML中创建一个`&lt;img&gt;`元素,设置其`src`属性为待上传图片的URL,或者使用`data-url`属性存放图片URL,等图片加载完成后动态设置`src`。 3. **初始化Jcrop**:使用jQuery选择器找到图片元素...

    多图片上传和取消上传(基于框架)

    可以维护一个待上传文件列表,当用户取消某个文件时,将其从列表中移除,并确保不再发送请求。例如: ```javascript let uploadingFiles = Array.from(files); function cancelUpload(file) { const index = ...

    jquery 图片预览浏览功能

    7. **JavaScript代码**:`jquery.barousel.js`和`jquery.barousel.min.js`很可能是实现图片预览和浏览功能的jQuery插件。插件通常封装了一些复杂的逻辑,如事件监听、动画效果和状态管理,使得开发者能够更方便地在...

    js代码实现图片上传阿里云OSS

    在本场景中,我们讨论的是如何使用JS代码来实现图片上传至阿里云对象存储服务(Object Storage Service,简称OSS)。阿里云OSS提供了一个高效、安全、稳定的云存储解决方案,适用于各种数据存储需求,包括图片、视频...

    ASP.NET JQuery ImgAreaSelect 实现上传图片在线剪裁

    总的来说,这个例子展示了如何在ASP.NET应用中结合JQuery ImgAreaSelect插件实现图片上传和在线剪裁。这不仅提高了用户的交互性,也为图片处理提供了一种灵活的方法。在实际项目中,你可能还需要考虑错误处理、图片...

    jQuery多张图片同时上传组件

    如果用户想要撤销选择,只需点击对应图片的删除按钮,该图片就会从待上传列表中移除。这一功能使得用户在上传前可以自由调整图片顺序或去除不合适的图片。 **Ajax上传** 为了不影响页面的正常加载,图片上传通常...

    javascript图片特效

    9. 图片拖放:HTML5的拖放API允许用户通过JavaScript实现图片的拖放功能,用户可以将本地图片直接拖放到网页上,实现上传或预览。 10. 图片分页加载:对于拥有大量图片的画廊或相册,JavaScript可以实现分页加载,...

    仿58网赶集网百姓网swfupload图片上传效果-修改版

    总之,仿58网、赶集网和百姓网的SWFUpload图片上传效果的实现,需要结合JavaScript、Flash和后端技术,实现多文件选择、预览、上传和文件路径获取等一系列功能。通过不断优化和改进,可以创建一个高效且用户友好的...

    js动态上传多张图片

    - 使用FileReader API的`readAsDataURL()`方法,将文件转换为Base64编码的字符串,然后插入到HTML的`&lt;img&gt;`元素中,实现图片的即时预览。 - `onload`事件监听读取完成,`onerror`事件处理读取失败。 3. **添加与...

    Jcrop图片预览裁剪-图片预览裁剪

    Jcrop是一款广泛应用于Web开发中的JavaScript库,专门用于实现图片的预览和裁剪功能。它支持Internet Explorer 8及更高版本以及所有主流浏览器,包括Chrome、Firefox、Safari和Opera,提供了良好的跨平台和跨浏览器...

    单个图片上传

    通过这个插件,我们可以轻松地实现在前端展示待上传图片的预览效果,提升用户体验。首先,我们需要在HTML页面中引入Bootstrap和Bootstrap File Input的相关CSS及JS文件。接着,创建一个`&lt;input type="file"&gt;`元素,...

    Asp.net 2.0 用FileUpload 控件实现多文件上传

    一种常见的方法是使用多个FileUpload控件,每个控件对应一个待上传的文件。另一种更现代且推荐的方法是使用HTML5的`&lt;input type="file" multiple /&gt;`特性,配合JavaScript进行前端处理,然后在后台接收并处理这些...

    用js实现预览待上传的本地图片

    ### 使用JavaScript预览待上传的本地图片 在Web开发中,允许用户实时预览即将上传的图片是一项非常实用的功能。这不仅可以提升用户体验,还可以帮助用户确保上传正确的文件类型。本文将详细解析如何利用JavaScript...

    多个轮播图,点击图片放大

    例如,Bootstrap的Carousel组件提供了内置的轮播图功能,而jQuery的Fancybox或Magnific Popup等库则可以方便地实现图片预览。 具体步骤如下: 1. 使用HTML编写轮播图的基础结构,包括图片容器、图片元素和导航按钮...

Global site tag (gtag.js) - Google Analytics