title: backbonejs node file upload
body: <p>None of the answers I have found anywhere have worked. I am trying to extend the example in "Developing Backbone.js Applications" to upload files. Although the form has enctype="multipart/form-data," request.files is always undefined.</p>
  
  <p>The form HTML is:</p>
  
  <pre><code>&lt;form id="addBook" action="..." enctype="multipart/form-data"&gt;
      &lt;div&gt;
          &lt;label for="coverImage"&gt;CoverImage: &lt;/label&gt;&lt;input id="coverImage" name="coverImage" type="file" /&gt;
          &lt;label for="title"&gt;Title: &lt;/label&gt;&lt;input id="title" type="text" /&gt;
          &lt;label for="author"&gt;Author: &lt;/label&gt;&lt;input id="author" type="text" /&gt;
          &lt;label for="releaseDate"&gt;Release date: &lt;/label&gt;&lt;input id="releaseDate" type="text" /&gt;
          &lt;label for="keywords"&gt;Keywords: &lt;/label&gt;&lt;input id="keywords" type="text" /&gt;
          &lt;button id="add"&gt;Add&lt;/button&gt;
    &lt;/div&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>The backbone that saves the new record is</p>
  
  <pre><code>  addBook: function( e ) {
      e.preventDefault();
  
      var formData = {};
      var reader = new FileReader();
      $( '#addBook div' ).children( 'input' ).each( function( i, el ) {
          if( $( el ).val() != '' )
          {
              if( el.id === 'keywords' ) {
                  formData[ el.id ] = [];
                  _.each( $( el ).val().split( ' ' ), function( keyword ) {
                      formData[ el.id ].push({ 'keyword': keyword });
                  });
              } else if( el.id === 'releaseDate' ) {
                  formData[ el.id ] = $( '#releaseDate' ).datepicker( 'getDate' ).getTime();
              } else {
                  formData[ el.id ] = $( el ).val();
              }
          }
      });
          console.log(formData);
          this.collection.create( formData );
      }
  </code></pre>
  
  <p>The Node being called.</p>
  
  <pre><code>//Insert a new book
  app.post( '/api/books', function( request, response ) {
      console.log(request.body);
      console.log(request.files);
  });
  </code></pre>
  
  <p>The value of coverimage send to node is correct, I just never get anything in request.files. I have a cool drag and drop I would like to use instead, but until I get this working I am stuck.</p>
  
  <p>I tried the JQuery-file-upload, that got me nowhere.</p>
  
  <p>If I had hair, I would be pulling it out right now.</p>