Javascript 邮递员表单数据,文件上传到web api-成功,但$http不';T

Javascript 邮递员表单数据,文件上传到web api-成功,但$http不';T,javascript,angularjs,asp.net-web-api2,multipartform-data,Javascript,Angularjs,Asp.net Web Api2,Multipartform Data,我有mvc和角度应用程序。 我想将图像文件发布到我的web api 我的web api控制器是: public class UploadController : ApiController { public HttpResponseMessage Post() { HttpResponseMessage result = null; var httpRequest = HttpContext.Current.Request; i

我有mvc和角度应用程序。 我想将图像文件发布到我的web api

我的web api控制器是:

  public class UploadController : ApiController
{
    public HttpResponseMessage Post()
    {
        HttpResponseMessage result = null;
        var httpRequest = HttpContext.Current.Request;
        if(httpRequest.Files.Count > 0)
        {
            var docfiles = new List<string>();
            foreach (string file in httpRequest.Files)
            {
                var postedFile = httpRequest.Files[file];
                var filePath = HttpContext.Current.Server.MapPath("~/"+postedFile.FileName);
                postedFile.SaveAs(filePath);
                docfiles.Add(filePath);
            }
            result = Request.CreateResponse(HttpStatusCode.Created, docfiles);
        }
        else
        {
            result = Request.CreateResponse(HttpStatusCode.BadRequest);
        }
        return result;

    }
}
这是我的工厂代码:

    return function (image) {
    var result = $q.defer();
    var formData = new FormData();

    if (image) {
        formData.append("uploadFile", image);
    }

    $http({
        method: 'POST',
        url: SessionService.apiUrl + '/api/upload',
        data: formData,
        header: { 'Authorization': 'Bearer ' + SessionService.getToken(), 'enctype': 'multipart/form-data' }
    })
    .success(function (response) {
        console.log(response);
        result.resolve(response);
    })  
    .error(function (response) {
        console.log(response);
        result.reject(response);
    });
    return result.promise;
}
和我的html输入:

                    <input type="file" id="uploadproductimage" name="uploadproductimage" class="input-xlarge">


谢谢

你有没有用像Fiddler这样的东西来确定邮递员发送的邮件和投递的邮件的区别?另外,您的getToken请求是异步的吗?angular请求仍然得到“Content-Type:application/json;charset=utf-8”。在postman请求中:“Content Type:multipart/form data;boundary=----webkitformboundaryvapsgvkoaxwheegp5”关于“getToken”——它不是已经存储在服务中的请求。在客户端上载任何文件之前收到令牌。啊。如果要上载文件,可能需要向标题标记添加新的内容类型。尝试复制与邮递员请求相同的值,看看它们是否成功。这就是我所说的,我使用了相同的请求(或者我遗漏了什么)。
                    <input type="file" id="uploadproductimage" name="uploadproductimage" class="input-xlarge">