0
我想使用REST風格的URL而不是SOAP返回WCF 3.5中的流。這個想法是從SharePoint 2010中讀取文件,然後將其傳回客戶端。 (我們有做這種方式,而不是使用SharePoint服務的理由,但我離題了。)看來好像要發送的文件的唯一方法是使用一個FileStream
將其寫入到文件系統,然後使用File.OpenRead
返回流回來給客戶。使用MemoryStream
似乎不起作用。 IE會提示保存文件,但是該文件就像2KB一樣下來,然後當然不能讀取,因爲它不是全部。有任何想法嗎?如何從WCF流式傳輸文件系統中沒有的文件。 (共享點內容數據庫)
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;
}