現象

ASP.NET の Web APIにファイルをポストしようとして、

angulerjsの$httpで

1
2
3
4
5
6
7
$http({
        url: url,
        method: 'POST',
        data: data,
        processData: false,
        contentType: false,
    });

的な呼び出しをしても、

1
Invalid 'HttpContent' instance provided. It does not have a content type header starting with 'multipart/'.

と怒られて、multipartなPostとなりません。

解決策

jqueryの$.ajaxを使う。

$.ajaxの非同期処理はAngularのあずかり知らないところなので、コールバック関数の中で$scope.$apply()をするのを忘れずに。

半日つぶしたのでメモ。