• html5文件 Amy


    一、FileList对象鱼file对象

      html4中,file控件只允许放置一个文件,html5中增加了multiple属性,允许file控件一次放置多个文件,这些file的列表就是FileList对象,有属性name表示文件名,有lastModifiedDate属性表示文件的最后修改日期

        <input type="file" id="f" multiple size="80"/><!--size属性是控制上传框的大小-->
        <input type="button" onClick="btn_click();" value="上传文件"/>
    function btn_click(){
        var f=document.getElementById("f");
        for(var i=0;i<f.files.length;i++){
            alert(f.files[i].name);
        }
    }

    二、Blob对象

      2.1 Blob对象的介绍:

        Blob是一个可以存储二进制文件的容器,使用二进制保存数据,数据库常常使用Blob来保存数据,File接口继承了Blob对象。

      2.2 Blob对象的属性和方法

        2.2.1 创建Blob对象:使用BlobBuilder接口构建

    var BlobBuilder = window.MozBlobBuilder || window.WebKitBlobBuilder || window.BlobBuilder;
    var bb = new BlobBuilder(); 

        2.2.2 向blob添加数据:使用append方法

    bb.append('hello');

        2.2.3 获取Blob对象:使用getBlob方法

    bo = bb.getBlob('text/plain');

        2.2.4 两个属性:size(返回字节大小)和type(返回数据类型)

    bo.size; // 5
    bo.type; // text/plain

    三、FileReader接口

      3.1 FileReader:HTML5中,引入了FileReader接口,来实现对本地文件的异步操作,使用该API可以在浏览器主线程中异步访问文件系统,将文件读入内存

      3.2 检查浏览器是否支持FileReader接口

      if(typeof FileReader=='undefined'){
            alert("您的浏览器不支持FileReader接口");
        }else{
            alert("您的浏览器支持FileReader接口");
        }

      3.3 FileReader接口读取文件的方法:

      readAsBinaryString(file):将文件读取为二进制码

      readAsText(file,[encoding]):将文件读取为文本,第二个参数是文本编码方式,默认是UTF-8

      readAsDataURL(file):将文件读取为Data URL字符串,将小文件以一种特殊格式的URL地址形式直接读入页面,这里的小文件是指图像和html格式的文件

        var f=document.getElementById("f");
        var r=document.getElementById("result");
        function readAsBinaryString(){
            var file=f.files[0];
            var read=new FileReader();
            read.readAsBinaryString(file);
            read.onload=function(f){
                r.innerHTML=this.result;
            }
        }
        function readAsDataURL(){
            var file=f.files[0];
            var read=new FileReader();
            read.readAsDataURL(file);
            read.onload=function(f){
                r.innerHTML='<img src="'+this.result+'"/>';
            }
        }

       3.4 FileReader接口的事件

      onabort:数据读取中断时触发

      onerror:数据读取出错时触发

      onloadstart:数据开始读取时触发

      onprogress:数据读取过程中触发

      onload:数据读取成功完成时触发

      onloadend:数据读取完成时触发,无论是否成功

  • 相关阅读:
    POJ 2584 T-Shirt Gumbo (二分图多重最大匹配)
    POJ 2584 T-Shirt Gumbo (二分图多重最大匹配)
    POJ 1904 King's Quest ★(强连通分量:可行完美匹配边)
    POJ 1904 King's Quest ★(强连通分量:可行完美匹配边)
    HDU 4638 Group ★(树状数组)
    HDU 4638 Group ★(树状数组)
    HDU 4632 Palindrome subsequence (区间DP)
    HDU 4632 Palindrome subsequence (区间DP)
    hdu2604 Queuing
    poj3757 Training little cats
  • 原文地址:https://www.cnblogs.com/amy2011/p/3077480.html
Copyright © 2020-2023  润新知