Heim Web-Frontend js-Tutorial Bildvorschau hochladen JS-Skript Eingabedatei-Bildvorschau-Implementierung example_javascript-Kenntnisse

Bildvorschau hochladen JS-Skript Eingabedatei-Bildvorschau-Implementierung example_javascript-Kenntnisse

May 16, 2016 pm 04:32 PM
上传图片 预览

Wenn wir an einem Projekt in Shenzhen arbeiten, benötigen wir eine Funktion, mit der Benutzer Avatar-Vorschauen hochladen können! Ich habe viel online gesucht, bin aber nicht sehr zufrieden. Entweder ist es Flash, oder es gibt den Bildpfad nach dem Ajax-Upload zurück, oder es ist einfach unbrauchbar. Glücklicherweise hatte jemand vor diesem Projekt eine Bildvorschaufunktion geschrieben, und ich habe sie hier für meine eigene Bequemlichkeit und für die Bequemlichkeit anderer Freunde, die sie benötigen, herausgekramt!

Der Code ist sehr einfach und lautet wie folgt:

<!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 = 'block';
imgObjPreview.style.width = '150px';
imgObjPreview.style.height = '180px'; 
//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 = 'none';
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>
Nach dem Login kopieren

Der Test funktioniert auf IE8, FF12.0 und Google Chrome 28.0.1500.72!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie implementiert man das Scrollen von Bildern und die Vorschau von Miniaturansichten in Vue? Wie implementiert man das Scrollen von Bildern und die Vorschau von Miniaturansichten in Vue? Aug 18, 2023 pm 01:51 PM

Wie implementiert man das Scrollen von Bildern und die Vorschau von Miniaturansichten in Vue?

So posten Sie Bilder in Douyin-Kommentaren So posten Sie Bilder in Douyin-Kommentaren Feb 19, 2024 pm 01:10 PM

So posten Sie Bilder in Douyin-Kommentaren

Frühzeitiger Zugriff auf zukünftige Funktionen Safari Technology Preview 173 veröffentlicht Frühzeitiger Zugriff auf zukünftige Funktionen Safari Technology Preview 173 veröffentlicht Jul 02, 2023 pm 01:37 PM

Frühzeitiger Zugriff auf zukünftige Funktionen Safari Technology Preview 173 veröffentlicht

So implementieren Sie das Hochladen und die Vorschau von Formularbildern in der Vue-Formularverarbeitung So implementieren Sie das Hochladen und die Vorschau von Formularbildern in der Vue-Formularverarbeitung Aug 10, 2023 am 11:57 AM

So implementieren Sie das Hochladen und die Vorschau von Formularbildern in der Vue-Formularverarbeitung

So implementieren Sie das Hochladen und die Vorschau von Bildern in Uniapp So implementieren Sie das Hochladen und die Vorschau von Bildern in Uniapp Oct 21, 2023 am 11:48 AM

So implementieren Sie das Hochladen und die Vorschau von Bildern in Uniapp

Was soll ich tun, wenn in der Vorschau und beim Drucken nicht alles angezeigt werden kann? Was soll ich tun, wenn in der Vorschau und beim Drucken nicht alles angezeigt werden kann? Mar 01, 2023 pm 02:45 PM

Was soll ich tun, wenn in der Vorschau und beim Drucken nicht alles angezeigt werden kann?

Lösen Sie das Fehlerberichtsproblem des Win11-Vorschauprogramms Lösen Sie das Fehlerberichtsproblem des Win11-Vorschauprogramms Jan 14, 2024 pm 05:33 PM

Lösen Sie das Fehlerberichtsproblem des Win11-Vorschauprogramms

Wie kann ich Bilder über Vue hochladen und in der Vorschau anzeigen? Wie kann ich Bilder über Vue hochladen und in der Vorschau anzeigen? Aug 19, 2023 pm 09:25 PM

Wie kann ich Bilder über Vue hochladen und in der Vorschau anzeigen?

See all articles