如何将POST请求内容保存为.NET中的文件

Adh*_*ham 6 .net c# vb.net asp.net http

我有一个客户端应用程序发出 POST请求asp.net URL(它用于上传文件.NET).

如何使asp.net页面收到此请求并将其保存为文件?

@ Darin Dimitrov我已经尝试了你的代码,但我得到了500 internal server error如何跟踪它?

Dar*_*rov 22

如果客户端使用multipart/form-data请求编码(这是上载文件的标准),您可以从Request.Files集合中检索上载的文件.例如:

protected void Page_Load(object sender, EventArgs e)
{
    foreach (HttpPostedFile file in Request.Files)
    {
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
        file.SaveAs(path);
    }
}
Run Code Online (Sandbox Code Playgroud)

或者如果您知道客户端使用的名称,您可以直接访问它:

HttpPostedFile file = Request.Files["file"];
Run Code Online (Sandbox Code Playgroud)

另一方面,如果客户端不对请求使用标准编码,则可能需要从中读取文件Request.InputStream.