记一个使用Client Object Model上传文件的小例子
1. 新建一个C#的Console project.
2. 给project 添加reference:
- Microsoft.SharePoint.Client
- Microsoft.SharePoint.Runtime
3. 修改project的属性:
- Platform target – x64
- Target framework – .NET Framework 4
4. 修改代码如下:
using System; using System.IO; using System.Net; using Microsoft.SharePoint.Client; namespace ClientUploadTest { class Program { static void Main(string[] args) { ClientContext ctx = new ClientContext("http://mysp2013/sites/sc19/"); ctx.Credentials = new NetworkCredential("administrator", "Password", "mydomain"); using (FileStream fs = new FileStream(@"C:\temp\doc1.docx", FileMode.Open)) { Microsoft.SharePoint.Client.File.SaveBinaryDirect(ctx, @"/sites/sc19/site1/mydoclib/doc1.docx", fs, true); } Console.WriteLine("Uploaded File Successfully"); } } }
5. 运行成功.
后记
==================
一定要确保文件上传的目标地址的正确: URL正确, 文件夹的确存在.
否则会报HTTP 409 Conflict的.
为了避免HTTP 409, 你还需要注意我这个例子中使用的URL:
- 构建ClientContext时, 用的是sitecollection的FULL URL.
- 调用SaveBinaryDirect的时候, 用的是目标文件夹Full URL除去主机名加端口号后剩下的部分.
Happy Coding SharePoint!
参考资料
====================
Upload a document to a SharePoint list from Managed Client Side Object Model
ClientContext error 409! HELP!
http://go4answers.webhost4life.com/Example/clientcontext-error-409-help-90813.aspx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律