C# 如何避免表单数据中的url编码
我试图在将文件从AngularJS上传到WebApi时发布formData。由于某些原因,所有值都被编码为%5B%5D,键是正常的。我在用图书馆上传文件。这是Javscript问题还是WebApi问题。有什么想法吗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:
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);
}