Send multipart/form-data files with angular using $http : <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>
