html5新增的一些API方法使我们实现一些功能更加简便也可以实现更多的动态效果,接下来将详细介绍文件上传功能的实现
案例实现所用到的知识点
(1)multiple是HTML5新增属性主要用于多个值文件的上传,规定了所输入字段可选择多个值,一般与input属性中email 和 file共用
(2)querySelector() 方法主要用于返回文档中匹配指定选择器的第一个元素,如果要返回所有的元素可用querySelectorAll() 方法替代。
(3)FileReader 对象允许应用程序异步读取存储在计算机上的文件的内容,使用 File 或 Blob 对象指定读取的文件或数据。其中File对象可以是来自<input>元素上选择文件后返回的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如何实现文件上传功能的详细内容,更多请关注php中文网其它相关文章!
……