Angular,jquery,将文件发布到c#web api,错误uploadinfg notported media type

时间:2016-12-28 22:55:58

标签: javascript jquery angularjs image asp.net-web-api

您好我正在尝试将带有图片的帖子请求发送到我的网络API,但我已经返回了该错误:错误“上传未报告的媒体类型”。我不知道如何避免这个错误。一些代码: ap.js

function convert_to_https(url){
    $new_url = preg_replace("/^http:/i", "https:", $url);
    return $new_url;
}


$https_url = convert_to_https('http://example.com');
echo $https_url; // https://example.com

// then escape the URL
esc_url_raw($https_url);

.html文件

$scope.uploadFile = function (element) {
    var data = new FormData();
    data.append('file', $(element)[0].files[0]);
    jQuery.ajax({
        url: 'http://localhost:56392/api/Image',
        type: 'post',
        data: data,
        transformRequest: angular.identity,
        contentType: false,
        header: {
            'Accept': undefined,
            'Content-Type': undefined
        },
        processData: false,
        success: function (response) {
            console.log(response);
        },
        error: function (jqXHR, textStatus, errorMessage) {
            alert('Error uploading: ' + errorMessage);
        }
    });
};

我在c#mvc5中构建了web api,但请求甚至不要离开我的页面。

更新我将app.js更改为

<input type="file" name="file" onchange="angular.element(this).scope().uploadFile(this)" />

现在我的webapi出错了;)所以请求传递;)在webapi中我尝试做这样的事情:

$scope.uploadFile = function (element) {
    var data = new FormData();
    data.append('file', $(element)[0].files[0]);
    jQuery.ajax({
        url: 'http://localhost:56392/api/Image',
        type: 'post',
        data: data,



        processData: false,
        success: function (response) {
            console.log(response);
        },
        error: function (jqXHR, textStatus, errorMessage) {
            alert('Error uploading: ' + errorMessage);
        }
    });
};

但参数HttpPostedFile profileImage始终为null。任何想法我应该怎么做这个帖子?

0 个答案:

没有答案