C#中是否有任何multipart/form-data解析器 - (NO ASP)

Goh*_*ool 8 c# parsing multipartform-data

我只是想编写一个多部分解析器,但事情变得复杂,并想知道是否有人知道C#中的现成解析器!

为了说清楚,我正在编写自己的"小"http服务器,并且需要解析多部分表单数据!

在此先感谢Gohlool

Lor*_*ori 27

在这里开源了一个C#Http表单解析器.

这比在CodePlex上提到的另一个稍微灵活一些,因为您可以将它用于Multipart和Non-Multipart form-data,并且它还为您提供在Dictionary对象中格式化的其他表单参数.

这可以使用如下:

非多

public void Login(Stream stream)
{
    string username = null;
    string password = null;

    HttpContentParser parser = new HttpContentParser(stream);
    if (parser.Success)
    {
        username = HttpUtility.UrlDecode(parser.Parameters["username"]);
        password = HttpUtility.UrlDecode(parser.Parameters["password"]);
    }
}
Run Code Online (Sandbox Code Playgroud)

public void Upload(Stream stream)
{
    HttpMultipartParser parser = new HttpMultipartParser(stream, "image");

    if (parser.Success)
    {
        string user = HttpUtility.UrlDecode(parser.Parameters["user"]);
        string title = HttpUtility.UrlDecode(parser.Parameters["title"]);

        // Save the file somewhere
        File.WriteAllBytes(FILE_PATH + title + FILE_EXT, parser.FileContents);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 位桶链接已损坏 (4认同)

Jak*_*ods 8

我有一些基于字符串解析的解析器问题,特别是对于大文件我发现它会耗尽内存而无法解析二进制数据.

为了应对这些问题,我已经开源了在C#中的multipart/form-data的解析器我自己尝试在这里

见我的答案在这里了解更多信息.