码迷,mamicode.com
首页 > 其他好文 > 详细

blob

时间:2015-03-02 22:26:34      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

犀牛书

22.6.1

<input type=‘file‘ accept=‘image/*‘ multiple onchange=‘fileinfo(this.files)‘>
	<script>
	function fileinfo(files){
		
		for(var i=0; i<files.length; i++){
			var file = files[i];
			console.log(file.name, file.size, file.type, file.lastModifiedDate);
		}
	}
	</script>

笔记:

input type=‘file‘:type:规定 input 元素的类型;file:定义输入字段和 "浏览"按钮,供文件上传。

accept=‘image/*‘:规定通过文件上传来提交的文件的类型,值是MIME 类型(http://www.cnblogs.com/zhongcj/archive/2008/11/03/1325293.html);避免使用该属性。应该在服务器端验证文件上传。

multiple 属性规定输入字段可选择多个值,与email 和 file有关。

onchange=‘fileinfo(this.files)‘:this指input元素本身,如何获取这个this?files是一个fileList,是一个file对象的数组,每个file对象是一个blob。

 

file是blob的具体版本,继承了blob的一些方法,也有自己的一些方法。

blob是二进制大对象,arraybuffer是二进制缓冲区。

 

创建:

  <script>  //第一种方法
    var builder = new BolbBuilder();
    builder.append("Hello World!");
    var blob = builder.getBlob("text/plain");
  </script>
//第二种方法
var blob = new Blob(["Hello World!"],{type:"text/plain"});  argu1 blob内容;argu2 对象{type:‘mime‘;endings:‘transparent/native(决定内容的数据格式)‘}

 

slice方法:

    function sliceBlob(blob, start, end, type) {
      type = type || blob.type;
      if (blob.mozSlice) {
          return blob.mozSlice(start, end, type);
      } else if (blob.webkitSlice) {
          return blob.webkitSlice(start, end, type);
      } else {
          throw new Error("This doesn‘t work!");
      }
    }

如果 mime 类型没有设置,那么新的 Blob 对象的 mime 类型和父级一样。现在应该都支持blob,slice方法都统一了吧。

blob

标签:

原文地址:http://www.cnblogs.com/wang-jing/p/4309733.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!