pieces

A utility that takes a file and generates a collection of SHA1 hashes suitable for use in BitTorrent files.

pieces

pieces is a utility that takes a file (browser) or file path (node) and a piece length, and generates a collection of SHA1 hashes that can be used when creating BitTorrent files.

npm install pieces
var pieces = require('pieces')
 
var size = Math.pow(2, 14) // 16kb 
 
// Typically you’ll get the File object from 
// an input[type=file], but you you could also 
// just create your own Blob. 
 
var input = document.createElement('input')
input.type = 'file'
input.onchange = function(e) {
  var file = e.target.files[0]
  pieces(file, size, function(errorarray) {
    // Returns a Uint8Array of binary data 
    var data = new Blob([pieces])
    window.open(
      URL.createObjectURL(data)
    )
  })
}
 
document.body.appendChild(input)
var pieces = require('pieces')
 
var path = '/path/to/file'
var size = Math.pow(2, 18) // 256kb 
 
// You should probably make sure the path 
// exists before running pieces 
 
pieces(path, size, function(errorbuffer) {
  // Returns a Buffer of binary data 
  console.log(buffer.toString())
})

MIT