title: Send multipart/form-data files with angular using $http
body: <p>I know there are a lot of questions about this, but I can't get this to work:</p>
  
  <p>I want to upload a file from input to a server in multipart/form-data</p>
  
  <p>I've tried two approaches. First:</p>
  
  <pre><code>headers: {
    'Content-Type': undefined
  },
  </code></pre>
  
  <p>Which results in e.g. for an image</p>
  
  <pre><code>Content-Type:image/png
  </code></pre>
  
  <p>while it should be multipart/form-data</p>
  
  <p>and the other: </p>
  
  <pre><code>headers: {
    'Content-Type': multipart/form-data
  },
  </code></pre>
  
  <p>But this asks for a boundry header, which I believe should not be manually inserted... </p>
  
  <p>What is a clean way to solve this problem? 
  I've read that you can do </p>
  
  <pre><code>$httpProvider.defaults.headers.post['Content-Type'] = 'multipart/form-data; charset=utf-8';
  </code></pre>
  
  <p>But I don't want all my posts to be multipart/form-data. The default should be JSON</p>