


Bildvorschau hochladen JS-Skript Eingabedatei-Bildvorschau-Implementierung example_javascript-Kenntnisse
May 16, 2016 pm 04:32 PMWenn 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>
Der Test funktioniert auf IE8, FF12.0 und Google Chrome 28.0.1500.72!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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

So posten Sie Bilder in Douyin-Kommentaren

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 Bildern in Uniapp

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

Lösen Sie das Fehlerberichtsproblem des Win11-Vorschauprogramms

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