我正在尝试使用 REST 样式的 URL 而不是 SOAP 在 WCF 3.5 中返回一个流。想法是从 SharePoint 2010 读取文件,然后将其传递回客户端。(我们有理由这样做而不是使用 SharePoint 服务,但我离题了。)似乎发送文件的唯一方法是使用 one 将其写入文件系统FileStream
,然后使用File.OpenRead
将流返回到客户。使用 aMemoryStream
似乎不起作用。IE 提示保存文件,但文件像 2KB 一样下降,然后当然无法读取,因为它不是全部。有任何想法吗?
SPListItemCollection lookupFld2 = docLibrary.GetItems(spQuery2);
if (lookupFld2.Count > 0)
{
WebOperationContext.Current.OutgoingResponse.ContentType =
"application/octet-stream";
WebOperationContext.Current.OutgoingResponse.Headers.Add(
"Content-Disposition","attachment; filename=" + lookupFld2[0].File.Name);
MemoryStream memoryStream =
(MemoryStream)lookupFld2[0].File.OpenBinaryStream();
memoryStream.Position = 0;
return memoryStream;
}