就像图片那样,上传图片后小图先显示在页面,这是通过ajax实现的吗,我现在还没学后端语言,自己一个人做,有什么办法实现吗?还是说这是后台负责的?
<input type="file" onchange="previewFile()">
<img src="" height="200" alt="Image preview...">
function previewFile(e) {
var preview = document.querySelector('img');
var file = e.target.files[0];
var reader = new FileReader();
reader.onload = function () {
preview.src = reader.result;
}
if (file) {
reader.readAsDataURL(file);
} else {
preview.src = "";
}
}
通过html5的FileReader
api进行本地文件的获取,以base64
的方式,并写入到img.src
进行显示。
URL.createObjectURL预览
<input type="file" onchange="change(event)">
<img src="" id="myimg">
function change(ev){
var event = window.event || ev;
var files = event.target.files[0];
var myimg = document.getElementById("myimg");
myimg.src = URL.createObjectURL(files);
}
10 回答11.2k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答2k 阅读
不用ajax返回小图的url,直接用js就可以实现,下面是实现代码:
先看效果
HTML
JS