在瀏覽器環境下進開發網站(也就是B/S架構的應用),獲取到當前設備上的圖片後,但願能夠在上傳到服務器前簡單預覽一下圖片內容。javascript
html
部分html
<input type="file" id="check_file" /> <img src="" id="preview_image" />
javascript
部分java
var fileElem = document.getElementById('check_file'); var imgElem = document.getElementById('preview_image'); fileElem.addEventListener('change', function (event) { //TODO 預覽 var target = event.target; });
imgElem.src = target.value;
結果信息:瀏覽器
Not allowed to load local resource: file:///xxx
意味着不能經過圖片文件在設備上的路徑,直接訪問這個圖片。靜態html在本地測試時,能夠經過安裝插件等方式臨時解決這個阻礙。可是實際生產中html文件一般是在服務器上,而非客戶端設備上,那麼這個方案是行不通的。服務器
若是圖片不是特別大,能夠嘗試將其轉爲base64編碼來實現預覽的效果,這裏使用 FileReader
這個API來實現。架構
var fileReader = new FileReader(); fileReader.onload = function (readEvent) { imgElem.src = readEvent.target.result; };