gpt4 book ai didi

asp.net - Sharepoint 2010 API 上传带有元数据的文件从 ASP.NET Web 应用程序创建新版本

转载 作者:行者123 更新时间:2023-12-02 03:40:53 25 4
gpt4 key购买 nike

如何将包含元数据的文件从 ASP.NET Web 应用程序上传到 SharePoint 2010?

有什么办法吗?

提前致谢。

最佳答案

有多种方法可以将文件上传到文档库。

也许最简单的方法就是使用 File.Copy 将文件复制到文档库的 URL。 SharePoint 支持 WebDAV,因此您可以将库视为网络文件夹,直接从任何应用程序打开/保存文件,从 Windows 资源管理器复制和重命名等。

虽然你确实面临一些限制:

  • 文件的完整路径不能超过 260 个字符,SharePoint 会在没有警告的情况下将其截断。
  • 文件名不能包含一些对 Windows Explorer 有效的字符,例如 #
  • 如果您尝试保存一个与现有文件同名的文件,SharePoint 会在不询问的情况下创建一个名称略有不同的新文件
  • 您无法控制 authorcreation date 属性。 SharePoint 将使用当前日期和执行代码的用户的凭据。
  • 虽然您可以在上传后更新文件的 ListItem 属性,但您不能设置任何元数据。

另一种选择是使用客户端对象模型并使用 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);

检查这个 SO 问题,Upload a document to a SharePoint list from Client Side Object Model关于如何同时使用 SaveBinaryDirect 和 FileCollection.Add .答案显示如何上传文件以及如何修改其属性

关于asp.net - Sharepoint 2010 API 上传带有元数据的文件从 ASP.NET Web 应用程序创建新版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20143422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com