通過<input />標簽,給它指定type類型為file,可提供文件上傳; accept:可選擇上傳類型,如:只要傳圖片,且不限製圖片格式,為image/*; multiple:規定是否可以選擇多個文件; 規定只可上傳圖片,且可以選擇多個文件 當然,直接一個input type=file 只能選擇 ...
通過<input />標簽,給它指定type類型為file,可提供文件上傳;
accept:可選擇上傳類型,如:只要傳圖片,且不限製圖片格式,為image/*;
multiple:規定是否可以選擇多個文件;
規定只可上傳圖片,且可以選擇多個文件
<input type="file" accept="image/*" multiple="multiple"/>
當然,直接一個input type=file 只能選擇上傳的文件/資源,如果我們需要在選擇圖片之後,在當前頁面實現預覽效果,那麼我們可以如下方式來實現
HTML代碼
<body> <div id="box"> <img id="imgshow" src="" alt=""/> </div> <div id="pox"> <input id="filed" type="file" accept="image/*"/> </div> </body>
css樣式文件
<style> #box{ width: 300px; height: 300px; border: 2px solid #858585; } #imgshow{ width: 100%; height: 100%; } #pox{ width: 70px; height: 24px; overflow: hidden; } </style>
JS代碼
<script> //在input file內容改變的時候觸發事件 $('#filed').change(function(){ //獲取input file的files文件數組; //$('#filed')獲取的是jQuery對象,.get(0)轉為原生對象; //這邊預設只能選一個,但是存放形式仍然是數組,所以取第一個元素使用[0]; var file = $('#filed').get(0).files[0]; //創建用來讀取此文件的對象 var reader = new FileReader(); //使用該對象讀取file文件 reader.readAsDataURL(file); //讀取文件成功後執行的方法函數 reader.onload=function(e){ //讀取成功後返回的一個參數e,整個的一個進度事件 console.log(e); //選擇所要顯示圖片的img,要賦值給img的src就是e中target下result裡面 //的base64編碼格式的地址 $('#imgshow').get(0).src = e.target.result; } }) </script>
*以上js代碼中有使用到jQuery,因此要引入jQuery文件