Sharepoint2010客户端对象模型使用CamlQuery-文件下载但无内容/0字节我正在尝试从中的子文件夹加载文档库中的文件夹下载txt文件。我正在使用camlQuery来实现这一点。不幸的是,我没有得到txt文件的内容。它有0个字节。publicvoidSaveFolderFiles(stringfileName,stringlibraryName,ClientOM.ClientContextclientContext){ClientOM.ListsharedDocumentsList=clientContext.Web.Lists.GetByTitle(libraryName);ClientOM.CamlQuerycamlQuery=newClientOM.CamlQuery();camlQuery.FolderServerRelativeUrl="/站点/文件夹/Folder2010/";camlQuery.ViewXml=@""+文件名+@"1";ClientOM.ListItemCollectionlistItems=sharedDocumentsList.GetItems(camlQuery);clientContext.Load(sharedDocumentsList);clientContext.Load(listItems);clientContext.ExecuteQuery();if(listItems.Count==1){ClientOM.ListItemitem=listItems[0];Console.WriteLine("FileLeafRef:{0}",item["FileLeafRef"]);Console.WriteLine("FileDirRef:{0}",item["FileDirRef"]);Console.WriteLine("FileRef:{0}",item["FileRef"]);Console.WriteLine("文件类型:{0}",item["File_x0020_Type"]);ClientOM.FileInformationfileInformation=ClientOM.File.OpenBinaryDirect(clientContext,(string)item["FileRef"]);使用(MemoryStreammemoryStream=newMemoryStream()){fileInformation.Stream.CopyTo(memoryStream);使用(FileStreamfileStream=File.Create(@"D:"+item["FileLeafRef"].ToString())){memoryStream.CopyTo(fileStream);}memoryStream.Flush();}}else{Console.WriteLine("找不到文档。");也许有人有想法?问候试试这个:使用FileInformation并获取MemoryStreamstringfileurl=(string)liitem["FileRef"];文件信息ffl=Microsoft.SharePoint.Client.File.OpenBinaryDirect(clientContext,fileurl);byte[]bytesarr=ReadFully(ffl.Stream);MemoryStreammnm=newMemoryStream(bytesarr);ReadFully函数将Stream转换为字节数组publicbyte[]ReadFully(Streaminput){byte[]buffer=newbyte[16*1024];使用(MemoryStreamms=newMemoryStream()){intread;while((read=input.Read(buffer,0,buffer.Length))>0){毫秒。写入(缓冲区,0,读取);}返回女士。ToArray();}}直接导出到输出文件...我觉得这是最简单最简单的方法以上就是C#学习教程:Sharepoint2010clientobjectmodelusingcamlQuery-文件下载但无内容/0字节分享全部内容,如果对大家有用需要详细了解C#学习教程,希望大家多多指教多加注意——FileInformationfInfo=File.OpenBinaryDirect(currentSiteContext,ServerRelativeURL);System.IO.FileStreamoutPutFile=System.IO.File.OpenWrite(string.Concat(OutputPath,"\",DocumentName));fInfo.Stream.CopyTo(outPutFile);fInfo.Stream.Close();outPutFile.Close();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
