一尘不染

从多部分/表单数据POST读取文件输入

c#

我正在通过HTML表单将文件发布到WCF REST服务,并enctype设置为multipart/form-data和单个组件:<input type="file" name="data">。服务器读取的结果流包含以下内容:

------WebKitFormBoundary
Content-Disposition: form-data; name="data"; filename="DSCF0001.JPG"
Content-Type: image/jpeg

<file bytes>
------WebKitFormBoundary--

问题是我不确定如何从流中提取文件字节。我需要执行此操作以将文件写入磁盘。


阅读 285

收藏
2020-05-19

共1个答案

一尘不染

您可以查看以下博客文章,该文章说明了可以multipart/form-data使用Multipart
Parser
在服务器上进行解析的技术:

public void Upload(Stream stream)
{
    MultipartParser parser = new MultipartParser(stream);
    if (parser.Success)
    {
        // Save the file
        SaveFile(parser.Filename, parser.ContentType, parser.FileContents);
    }
}

另一种可能是启用aspnet兼容性并使用HttpContext.Current.Request它,但这不是完全WCFish的方式。

2020-05-19