我正在C#/。NET旧式框架之上运行Angular JS应用程序。
我需要上传和保存文件以及一些POST数据变量,因此需要使用FormData
API。
let formData = new FormData();
formData.append('co-lo-import', file);
formData.append('data', someString);
然后我像这样发出xhr请求:
$http.post("//some/dot-net/endpoint/Default.aspx",
formData,
{ headers: { "Content-Type" : "multipart/form-data" }
});
在.NET方面,我试图从Request
变量中获取这些值。
string someString = Request.Form['data'];
HttpFileCollection uploadedFiles = null;
if(Request.Files != null){
uploadedFiles = Request.Files;
}
但是这些值始终为空。 Request.Form
我尝试了Request.Form.Get("data")
,它也变成了空的。
我在请求有效负载中看到文件和数据:
如何使用.NET在后端获取这些数据?
答案 0 :(得分:0)
如果Request.Form
中的数据不可用,请尝试从HTTP请求访问原始输入流中的字节:
using(var reader = new StreamReader(Request.InputStream))
{
content = reader.ReadToEnd();
}