快速将文件上载到Sharepoint

时间:2015-03-12 13:51:32

标签: vb.net sharepoint

我花了很多时间阅读如何使用客户端对象模型,并且仍然远离任何形式的能力,因此我需要提出......

我们必须每天将数千个报告文件上传到sharepoint网站。 这些文件往往是大约1500个像大小不同的文件块,从30kb到450kb不等。

对于较大的(450kb)文件,我编写了一个VB应用程序,并尝试使用Savebinarydirect方法(1)和files.add方法和executequery(2)。在运行executequery之前,我曾尝试将文件阻塞到大约100个组中,但这对整体性能影响不大,而savebinarydirect方法的速度提高了大约三分之一。

但是,这些方法都不比手动使用Sharepoint Designer工具和从Source拖放到Destination。与使用方法1的30-40分钟相比,上传1500个较大文件大约需要20分钟

我的问题是:我错过了什么 - 是否有第三个更快,更好的集成选项。

非常感谢所有的帮助。

代码摘要

方法1

SP.File.SaveBinaryDirect(context, serverRelativeUrl + "/" + filename, stream, True)

方法2

    Dim fileCreationInfo As SP.FileCreationInformation = New SP.FileCreationInformation()
                fileCreationInfo.ContentStream = stream
                fileCreationInfo.Overwrite = True
                fileCreationInfo.Url = filename
                fileCreationInfo.Overwrite = True

                Dim folder As SP.Folder = context.Web.GetFolderByServerRelativeUrl(serverRelativeUrl)
                Dim files As SP.FileCollection = folder.Files
                Dim file As SP.File = files.Add(fileCreationInfo)

                context.Load(files)
                context.Load(file)

                upload file
                context.ExecuteQuery()

1 个答案:

答案 0 :(得分:0)

SharePoint Designer使用FrontPage RPC(远程过程调用)上载文件。您可以通过使用Fiddler轻松确认。本文包含有关上传选项和优秀示例的更多信息:http://sharepointfieldnotes.blogspot.com/2009/09/uploading-content-into-sharepoint-let.html