JavaScript Trancher un fichier


Exemple

La méthode blob.slice() est utilisée pour créer un nouvel objet Blob contenant les données dans la plage d'octets spécifiée du blob source. Cette méthode est également utilisable avec les instances File, puisque File extend Blob.

Ici, nous découpons un fichier en une quantité spécifique de blobs. Ceci est particulièrement utile dans les cas où vous devez traiter des fichiers trop volumineux pour être lus en une seule fois. Nous pouvons alors lire les morceaux un par un en utilisant FileReader .

/**
* @param {File|Blob} - file to slice
* @param {Number} - chunksAmount
* @return {Array} - an array of Blobs
**/
function sliceFile(file, chunksAmount) {
  var byteIndex = 0;
  var chunks = [];
    
  for (var i = 0; i < chunksAmount; i += 1) {
    var byteEnd = Math.ceil((file.size / chunksAmount) * (i + 1));
    chunks.push(file.slice(byteIndex, byteEnd));
    byteIndex += (byteEnd - byteIndex);
  }

  return chunks;
}