在移動端網站開發中,有許多需要使用到手機相冊中的圖片的場景,如上傳頭像,選擇背景圖片等。本文將介紹如何使用html5和js獲取手機相冊中的圖片。
首先,我們需要在html中添加一個input標簽作為選擇圖片的入口。代碼如下:
<input type="file" id="selectImg" accept="image/*" style="display:none">
其中,accept屬性的值為"image/*",表示只允許選擇圖片文件;display屬性設置為none,表示該控件不顯示在頁面上。
接下來,我們在js中獲取該控件,并為其綁定change事件。當用戶選擇完圖片后,該事件將觸發。代碼如下:
var selectImg = document.getElementById('selectImg'); selectImg.onchange = function(e) { var file = e.target.files[0]; var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function() { var imgData = this.result; // 對獲取到的圖片數據進行操作 } }
在事件處理函數中,我們獲取選擇的圖片文件,并創建一個FileReader對象將其讀入內存。然后,通過FileReader對象將圖片文件內容轉化為base64字符串格式(imgData變量),可以用來直接顯示圖片或者上傳到服務器端。需要注意的是,由于讀入圖片文件是一個異步操作,所以需要在讀取完成之后才能進行后續的操作。
最后,我們可以將獲取到的圖片數據進行進一步的處理,例如添加到頁面上進行預覽等操作。完整代碼如下:
<input type="file" id="selectImg" accept="image/*" style="display:none"> var selectImg = document.getElementById('selectImg'); selectImg.onchange = function(e) { var file = e.target.files[0]; var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function() { var imgData = this.result; // 對獲取到的圖片數據進行操作 var img = new Image(); img.src = imgData; // 將圖片添加到頁面上進行預覽 document.body.appendChild(img); } }
通過以上代碼,我們成功地實現了使用html5和js獲取手機相冊中的圖片的功能。