首頁 >web前端 >H5教程 >利用JS+HTML5實現圖片上傳預覽效果(實例)

利用JS+HTML5實現圖片上傳預覽效果(實例)

怪我咯
怪我咯原創
2017-04-30 10:45:372624瀏覽

這篇文章主要介紹了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)
        $(&#39;#preview&#39;).empty().append($img)
      }
    }
    function preview2(file) {
      var reader = new FileReader()
      reader.onload = function(e) {
        var $img = $(&#39;<img>&#39;).attr("src", e.target.result)
        $(&#39;#preview&#39;).empty().append($img)
      }
      reader.readAsDataURL(file)
    }
     
    $(function() {
      $(&#39;[type=file]&#39;).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>

以上是利用JS+HTML5實現圖片上傳預覽效果(實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn