這篇文章主要介紹了JS+HTML5實現上傳圖片預覽效果,結合完整實例形式分析了javascript上傳圖片本地預覽的具體操作步驟與相關實現技巧,需要的朋友可以參考下
本文實例講述了JS+HTML5實作上傳圖片預覽效果。分享給大家供大家參考,具體如下:
在專案中遇到用input標籤file類型的文件上傳,想實在上傳之前進行圖片的預覽功能;之前的做的一個解決方案是文件先上傳上去然後返回地址再顯示在頁面上,這樣就不太好,因為用戶基本資訊可能並沒有保存,但是頭像卻已經改變,如果在需要改變就導致了多餘圖片的保存伺服器。
在網路上找了下解決方案,如下圖:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>html5 图片上传预览</title> <style> #preview { width: 300px; height: 300px; overflow: hidden; } #preview img { width: 100%; height: 100%; } </style> <script src="jquery-1.7.2.min.js"></script> <script type="text/javascript"> function preview1(file) { var img = new Image(), url = img.src = URL.createObjectURL(file) var $img = $(img) img.onload = function() { URL.revokeObjectURL(url) $('#preview').empty().append($img) } } function preview2(file) { var reader = new FileReader() reader.onload = function(e) { var $img = $('<img>').attr("src", e.target.result) $('#preview').empty().append($img) } reader.readAsDataURL(file) } $(function() { $('[type=file]').change(function(e) { var file = e.target.files[0] preview1(file) }) }) </script> </head> <body> <form enctype="multipart/form-data" action="" method="post"> <input type="file" name="imageUpload"/> <p id="preview" style="width: 300px;height:300px;border:1px solid gray;"></p> </form> </body> </html>
以上是HTML5實作上傳圖片預覽效果程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!