我正在通过HTML表单将文件发布到WCF REST服务,并enctype设置为multipart/form-data和单个组件:<input type="file" name="data">。服务器读取的结果流包含以下内容:
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--
问题是我不确定如何从流中提取文件字节。我需要执行此操作以将文件写入磁盘。
您可以查看以下博客文章,该文章说明了可以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的方式。
HttpContext.Current.Request