如何从WCF流式传输不是源自文件系统的文件。 (sharepoint内容数据库)

时间:2012-12-19 17:02:57

标签: wcf sharepoint filestream memorystream

我正在尝试使用REST样式URL而不是SOAP返回WCF 3.5中的流。我们的想法是从SharePoint 2010读取文件,然后将其传递回客户端。 (我们有理由这样做,而不是使用SharePoint服务,但我离题了。)似乎发送文件的唯一方法是使用一个FileStream将其写入文件系统,然后使用{{ 1}}将流返回给客户端。使用File.OpenRead似乎不起作用。 IE提示文件保存,但文件下降为2KB,然后当然不能读取,因为它不是全部。有什么想法吗?

MemoryStream

1 个答案:

答案 0 :(得分:0)

从技术上讲,OpenBinaryStream只返回一个普通的Stream实例而不是MemoryStream(http://msdn.microsoft.com/en-us/library/ms470901.aspx)。如果你想要一个MemoryStream你需要创建一个新的并将BinaryStream中的内容复制到MemoryStream中,然后重置位置并返回它。