code: function CuteFile( file, chunkSize ) {
              var pending = [],
                  blob = file.source,
                  total = blob.size,
                  chunks = chunkSize ? Math.ceil( total / chunkSize ) : 1,
                  start = 0,
                  index = 0,
                  len, api;
      
              api = {
                  file: file,
      
                  has: function() {
                      return !!pending.length;
                  },
      
                  shift: function() {
                      return pending.shift();
                  },
      
                  unshift: function( block ) {
                      pending.unshift( block );
                  }
              };
      
              while ( index < chunks ) {
                  len = Math.min( chunkSize, total - start );
      
                  pending.push({
                      file: file,
                      start: start,
                      end: chunkSize ? (start + len) : total,
                      total: total,
                      chunks: chunks,
                      chunk: index++,
                      cuted: api
                  });
                  start += len;
              }
      
              file.blocks = pending.concat();
              file.remaning = pending.length;
      
              return api;
          }
docs: 负责将文件切片。