最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • javascript HTML5文件上传FileReader API

    文件上传功能现在是越来越普遍,所有的社交网站,媒体网站,比如优酷视频,微博等,都提供了上传图片,上传视频等功能。但过去WEB程序员都很清楚,用HTML表单上传文件是很麻烦的事情,特别是你想了解一下用户上传的文件的一些属性,必须等它上传完成后才能知道。

    未知的东西上传到服务器上,有可能产生安全问题,也有可能体积太大,超过允许,浪费空间。现在好了,WEB技术在进步,HTML5带来了很多好东西。这个FileReader API就能让你在用户上传之前就能获取上传文件的一些基本属性。

    HTML代码

    这个FileReader API 的工作原理和 File API 一样,需要使用input[type=”file”] 元素:

    <-- 一个能上传多媒体文件的表单 -->
    <input type="file" id="upload-file" multiple />
    
    <-- 显示图片的地方 -->
    <div id="destination"></div>
    
    

    在File API这篇文章里有详细的关于能读取到的文件的相关信息,比如地址,体积,尺寸大小,文件类型等等。

    JavaScript

    这个例子中我们用input表单域上传一张图片,当用户在自己的电脑里选中一张图片后,这个图片会被显示到页面上:

    document.getElementById('upload-file').addEventListener('change', function() {
     var file;
     var destination = document.getElementById('destination');
     destination.innerHTML = '';
    
     // 循环用户多选的文件
     for(var x = 0, xlen = this.files.length; x < xlen; x++) {
     file = this.files[x];
     if(file.type.indexOf('image') != -1) { // 非常简单的交验
    
     var reader = new FileReader();
    
     reader.onload = function(e) {
     var img = new Image();
     img.src = e.target.result; // 显示图片的地方
    
     destination.appendChild(img);
     };
     
     reader.readAsDataURL(file);
     }
     }
    });
    

    这个例子里,我们使用FileReader里的readAsDataURL方法将图片内容转换成base64编码的字符串,然后使用图片的data URI方式显示它。其它的FileReader读取方法还有readAsText, readAsArrayBuffer和readAsBinaryString等

    有了这个FileReader API,我们就可以避免用户先将文件上传到服务器,在浏览器客户端我们就可以进行操作。这些在上传到服务器前的预处理是很有必要的。

    以上就是本文的全部内容,希望对大家的学习有所帮助。

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » javascript HTML5文件上传FileReader API
    • 20会员总数(位)
    • 16186资源总数(个)
    • 1112本周发布(个)
    • 15 今日发布(个)
    • 115稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情