2010-11-16 56 views
1

我想使用OpenRasta发布一些文件。我已经得到尽可能让我的处理程序调用,但通过所有外观,实体中的流是空的。这里是我的处理程序:使用OpenRasta和IMultipartHttpEntity上传多部分/表单数据

public OperationResult Post(IEnumerable<IMultipartHttpEntity> entities) 
{ 
    var foo = entities.ToList(); 
    foreach (var entity in foo) 
    { 
     if (entity.Stream != null && entity.ContentType != null) 
     { 
      var memoryStream = new MemoryStream(); 
      entity.Stream.CopyTo(memoryStream); 
     } 
    } 
    return new OperationResult.Created(); 
} 

每次通过循环memoryStream的长度为0.我做错了什么?

回答

1

没有像在StackOverflow上发布,使答案立即明显。显然你只能得到一个实体枚举来获取流。我已经添加了上面的“foo”变量来使调试变得更容易,但是它导致了流失败。当我将数据流存储到数据库时,在写入数据之前,我还没有将memoryStream重置到一开始。解决这两个问题让文件正确上传。

+1

似乎我以前的评论已经消失了,或者我把它发布到别的地方。您可以简单地使用IDownloadableFile或Stream作为您收到的类型,如果您想要完全控制哪些内容,多部分内容是低级别的 – SerialSeb 2010-11-22 17:10:44

相关问题