将FormData提交到C#/。NET [复制]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我在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")也是空的。

我在请求有效负载中看到了文件和数据:

request body

如何使用.NET在后端获取此数据?

c# asp.net angularjs multipartform-data form-data
1个回答
0
投票

如果数据在Request.Form中不可用,则尝试从HTTP请求访问原始输入流中的字节:

using(var reader = new StreamReader(Request.InputStream))
{
    content = reader.ReadToEnd();
}
© www.soinside.com 2019 - 2024. All rights reserved.