[英]ServiceStack: Raw Request Stream
我试图读取ServiceStack服务中的原始输入流。 我已经用IRequiresRequestStream
标记了DTO,并且读取的代码已执行,但是内容始终显示为空白。
在IE9中使用调试模式,我可以看到原始的HttpRequest包含已交付的POST中的文本。
这是我来自最小测试服务的代码,仅用于显示内容的读取和查询:
[Route("/qtest")]
public class QueryTestRequest : IReturn<string>, IRequiresRequestStream
{
public Stream RequestStream { get; set; }
}
public class QueryTestService : Service
{
public string Any(QueryTestRequest request)
{
var r = new StringBuilder();
r.Append("<p>This is the query test service:");
r.AppendFormat("<p>Parameter value={0}", base.Request.QueryString["value"]);
var postStream = new StreamReader(request.RequestStream);
var postContent = postStream.ReadToEnd();
r.AppendFormat("<p>Raw Content={0}", postContent);
return r.ToString();
}
}
我在这里想念什么?
是的,我也觉得很奇怪,但是也许是我不理解HttpRequestStream的本质。
无论如何...我设法使用以下方法来保存文件:
var stream = Request.Files[0].InputStream;
然后您可以处理该流。
看来可以上传多个文件,但是我想很难将其包装成REST框架。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.