我正在编写一个服务来处理使用文件的 mutlipart/formdata 编码从浏览器发送的请求。
我看到我可以通过使用接口 IRequiresRequestStream 装饰我的请求 DTO 并提供一个名为 RequestStream 的属性来访问原始输入流。但这样做似乎意味着我无法填写任何请求属性,即使是 URL 中包含的那些。例如,我将请求的路由设置如下
[Route("/document/{Type}/{Id}", "GET,PUT,POST/DELETE")]
public class UploadFileRequest : IReturn<UploadFileResponse>, IRequiresRequestStream
{
public long Id { get; set; }
public string Type { get; set; }
public Stream RequestStream { get; set; }
}
当我向此服务发送 PUT 请求时,我看到 RequestStream 属性已按我的意愿设置,但 Id 和 Type 属性为空。 https://groups.google.com/forum/#!msg/servicestack/l9qFvZNbuT0/dwyRQKBhmlMJ似乎表明这会发生。
有什么方法可以获取路由参数并仍然访问请求流?即使这样,我似乎也需要处理表单数据的解析,但希望我能找到一个库来轻松完成这项工作。