在浏览器环境下进开发网站(也就是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; };