Maison >interface Web >js tutoriel >Télécharger l'aperçu de l'image Script JS Exemple d'implémentation de l'aperçu de l'image du fichier d'entrée

Télécharger l'aperçu de l'image Script JS Exemple d'implémentation de l'aperçu de l'image du fichier d'entrée

高洛峰
高洛峰original
2016-12-24 17:28:271182parcourir

Lorsque nous travaillons sur un projet à Shenzhen, nous avons besoin d'une fonction permettant aux utilisateurs de télécharger des aperçus d'avatar ! J'ai beaucoup cherché en ligne, mais je ne suis pas très satisfait. Soit c'est du flash, soit il renvoie le chemin de l'image après le téléchargement Ajax, soit il est tout simplement inutilisable. Heureusement, quelqu'un avait écrit une fonction de prévisualisation d'image avant ce projet, et je l'ai déterrée ici pour ma propre commodité à l'avenir et pour d'autres amis qui en ont besoin !

Le code est très simple, comme suit :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>By:DragonDean</title>
<script type="text/javascript">
//下面用于图片上传预览功能
function setImagePreview(avalue) {
var docObj=document.getElementById("doc");
 
var imgObjPreview=document.getElementById("preview");
if(docObj.files &&docObj.files[0])
{
//火狐下,直接设img属性
imgObjPreview.style.display = &#39;block&#39;;
imgObjPreview.style.width = &#39;150px&#39;;
imgObjPreview.style.height = &#39;180px&#39;; 
//imgObjPreview.src = docObj.files[0].getAsDataURL();
 
//火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式
imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
}
else
{
//IE下,使用滤镜
docObj.select();
var imgSrc = document.selection.createRange().text;
var localImagId = document.getElementById("localImag");
//必须设置初始大小
localImagId.style.width = "150px";
localImagId.style.height = "180px";
//图片异常的捕捉,防止用户修改后缀来伪造图片
try{
localImagId.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
}
catch(e)
{
alert("您上传的图片格式不正确,请重新选择!");
return false;
}
imgObjPreview.style.display = &#39;none&#39;;
document.selection.empty();
}
return true;
}
 
</script>
</head>
 
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td height="101" align="center">
<div id="localImag"><img id="preview" src="http://blog.chuangling.net/Public/images/top.jpg" width="150" height="180" style="display: block; width: 150px; height: 180px;"></div>
</td>
</tr>
<tr>
<td align="center" style="padding-top:10px;"><input type="file" name="file" id="doc" style="width:150px;" onchange="javascript:setImagePreview();"></td>
</tr>
</tbody>
</table>
</body>
</html>

Le test peut être utilisé dans IE8, FF12.0 et Google Chrome 28.0.1500.72 !

Plus de téléchargement aperçu de l'image JS Veuillez prêter attention au site Web PHP chinois pour des articles connexes sur des exemples d'implémentation de script Aperçu de l'image du fichier d'entrée !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn