1. 程式人生 > >通過js操作上傳圖片,直接在頁面顯示

通過js操作上傳圖片,直接在頁面顯示

1.按照常規的邏輯:

我們通過ajax,或者form表單將檔案提交到後臺,將檔案儲存在某個臨時的目錄下,然後拿到這個儲存路徑,在前臺頁面賦值個<img>的src。

今天我們不走後臺邏輯,即點選上傳後,即可就在頁面進行顯示,ok,let's go!

2.程式碼如下

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
  <script type="text/javascript" src="js/jquery.min.js"></script>
  <script type="text/javascript">
$(document).ready(function(){


$("#btn").click(function(){
//var file =document.getElementById("myfile");
var file=$("#myfile").get(0);
var imgUrl =window.URL.createObjectURL(file.files[0]);
$("#pic_show").html("<img src="+imgUrl+" style=height:200px;width:200px;>");
});

});


  </script>

 </head>
 <body>
  上傳圖片:<input type="file"  id="myfile" name="myimgfile"> <input type="button" id="btn" value="提交">

顯示上傳的圖片:<div  style="width:300px;height:200px;" id="pic_show">

       <img src=""/>


         </div>

 </body>
</html>

3.效果圖如下:

說明:

1.alert($("#myfile"))得到的是[object Object] 

2、alert(document.getElementById("myfile"))得到的是[object HTMLDivElement]

3、alert($("#myfile")[0])或者alert($("#myfile").get(0))得到的是[object HTMLDivElement]

document.getElementById()返回的是DOM物件,而$()返回的是jQuery物件

參考:https://blog.csdn.net/qq_27367825/article/details/78390146

都看到這裡了,就順手點選右上角的小手,給個評論,再走唄!☺