C# 如何避免表单数据中的url编码

C# 如何避免表单数据中的url编码,c#,angularjs,asp.net-web-api,C#,Angularjs,Asp.net Web Api,我试图在将文件从AngularJS上传到WebApi时发布formData。由于某些原因,所有值都被编码为%5B%5D,键是正常的。我在用图书馆上传文件。这是Javscript问题还是WebApi问题。有什么想法吗 uploadFile: function(ids, files, success, progress, error) { return $upload.upload({ url: '/Api/User/UploadFile', method:

我试图在将文件从AngularJS上传到WebApi时发布formData。由于某些原因,所有值都被编码为%5B%5D,键是正常的。我在用图书馆上传文件。这是Javscript问题还是WebApi问题。有什么想法吗

uploadFile: function(ids, files, success, progress, error) {
    return $upload.upload({
        url:  '/Api/User/UploadFile',
        method: "POST",
        data: { ids: ids },
        file: files
    }).progress(progress).success(success).error(error);
}
我会尝试在AJAX调用上设置dataType和enctype,不确定.upload方法是什么,但它看起来像一个jQuery AJAX调用

dataType: 'json',
enctype: 'multipart/form-data'
看看这能不能解决问题


进一步阅读后,.upload看起来像是附加到$http服务的特殊内容,可能已经设置了这些值。

$upload是一个AngularJS库。问题是upload函数只直接获取数组或对象,不允许嵌套对象。问题解决了。谢谢你的支持

uploadFile: function(ids, files, success, progress, error) {
    return $upload.upload({
        url:  '/Api/User/UploadFile',
        method: "POST",
        data: ids, //-------- Problem solved.
        file: files
    }).progress(progress).success(success).error(error);
}
uploadFile: function(ids, files, success, progress, error) {
    return $upload.upload({
        url:  '/Api/User/UploadFile',
        method: "POST",
        data: ids, //-------- Problem solved.
        file: files
    }).progress(progress).success(success).error(error);
}