如何上传包含元数据的文件,从ASP.NET Web应用程序创建新版本到SharePoint 2010?
有什么办法吗?
提前致谢。
答案 0 :(得分:1)
有多种方法可以将文件上传到文档库。
也许最简单的方法就是使用File.Copy将文件复制到文档库的URL。 SharePoint支持WebDAV,因此您可以将库视为网络文件夹,直接从任何应用程序打开/保存文件,从Windows资源管理器中复制和重命名等。
你确实面临一些限制:
#
author
和creation date
属性。 SharePoint将使用当前日期和执行代码的用户的凭据。另一种选择是使用客户端对象模型并使用File.SaveBinaryDirect上传文件。此选项比简单地复制文件更好,因为它允许您覆盖现有文件,但您仍然无法直接访问文件的属性。上传可以这么简单:
var clientContext = new ClientContext("http://intranet.contoso.com");
using (var fileStream =new FileStream("NewDocument.docx", FileMode.Open))
ClientOM.File.SaveBinaryDirect(clientContext,
"/Shared Documents/NewDocument.docx", fileStream, true);
另一种选择是使用客户端对象模型连接到库,然后使用FileCollection.Add创建文件,例如
Microsoft.SharePoint.Client.File uploadFile = documentsList.RootFolder.Files.Add(
fileCreationInformation);
检查此问题,Upload a document to a SharePoint list from Client Side Object Model,了解如何使用SaveBinaryDirect和FileCollection.Add。答案显示了如何上传文件以及如何修改其属性