title: Node Busboy abort upload
body: <p>I'm using <a href="https://github.com/mscdex/busboy">busboy</a>, writing my uploaded file to a buffer and performing some validation on it (width, height and filesize).  I can't for the life of me figure out how to abort / stop the stream once I find something wrong with the upload.  </p>
  
  <p>For instance if I have a max filesize of 500kb that I want to allow, I keep track of the size of the buffer as it's uploading and I want to abort if the size is over 500kb.</p>
  
  <p>Here's a simplified version of my code.</p>
  
  <pre><code>var self = this;
  var busboy = new Busboy({
      headers: self.req.headers,
      limits: {
          files: 1
      }
  });
  busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
  
      file.fileRead = [];
      var size = 0;
      file.on('data', function(chunk) {
  
          size += chunk.length;
  
          /* DO VALIDATION HERE */
          if( size &gt; 500000) {
              /*** ABORT HERE ***/
          }
  
  
          file.fileRead.push(chunk);
      });
  
      file.on('end', function() {
          var data = Buffer.concat(file.fileRead, size);
          // ... upload to S3
      });
  
      self.req.pipe(busboy);
  });
  </code></pre>