本篇文章将给大家分享一个案例,利用html5实现文件上传的功能,有一定的参考价值,希望对大家有所帮助
html5新增的一些api方法使我们实现一些功能更加简便也可以实现更多的动态效果,接下来将详细介绍文件上传功能的实现
案例实现所用到的知识点
(1)multiple是html5新增属性主要用于多个值文件的上传,规定了所输入字段可选择多个值,一般与input属性中email 和 file共用
(2)queryselector() 方法主要用于返回文档中匹配指定选择器的第一个元素,如果要返回所有的元素可用queryselectorall() 方法替代。
(3)filereader 对象允许应用程序异步读取存储在计算机上的文件的内容,使用 file 或 blob 对象指定读取的文件或数据。其中file对象可以是来自d5fd7aea971a85678ba271703566ebfd元素上选择文件后返回的filelist对象
(4)readasdataurl:将读取出来的图像文件,直接显示在网页上,达到预览效果
代码展示
<!doctype html><html><head><meta charset="utf-8"><title>文件读取</title><style>.box{width:500px;height:500px;border: 1px solid #ccc;margin:300px auto;position: relative;background-color:rgb(167,239,251); }.file{position: absolute;bottom:0;left:0;}#img{position: absolute;left:100px;bottom:30px;}</style></head><body><div><input type="file" multiple><img src="" alt="" id="img"></div><script>var file = document.queryselector('.file');/*获取到了文件表单元素*//*选择文件后触发*/file.onchange = function () {/*初始化了一个文件读取对象*/var reader = new filereader();/*读取文件数据 this.files[0] 文件表单元素选择的第一个文件 */reader.readasdataurl(this.files[0]);/* 加载 */reader.onload = function () { /*读取完成显示图片*/ console.log(this.result);document.queryselector('#img').src = this.result;}}</script></body></html>
效果显示
未选中前
选中后
总结:以上就是本篇文章的内容了,希望帮助大家学会如何利用html5实现文件上传。
以上就是html5如何实现文件上传功能的详细内容。