You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Graph API上传OneDrive文件时如何添加文件描述?

给OneDrive上传文件添加描述的实现方法

没问题,给上传到OneDrive的文件添加描述是完全可行的!我经常用Graph API处理OneDrive文件操作,这个需求很常见,Graph API的DriveItem资源本身就支持description这个可写属性,你可以通过两种方式实现:


方式一:上传文件后更新描述

如果你已经像示例中那样完成了文件上传,只需要在上传后调用PatchAsync方法更新文件的属性即可:

// 初始化Graph客户端(和你已有的代码一致)
GraphServiceClient graphClient = new GraphServiceClient(authProvider);

// 1. 先完成文件上传(你的原有代码,这里修正了stream的正确初始化方式)
var stream = new MemoryStream(Encoding.UTF8.GetBytes("The contents of the file goes here."));
await graphClient.Me.Drive.Items["{item-id}"]
    .Request()
    .PutAsync(stream);

// 2. 构造要更新的DriveItem对象,仅设置Description字段
var updateItem = new DriveItem
{
    Description = "这里填写你的文件描述内容,比如:2024年Q2项目需求文档备份"
};

// 3. 调用Patch接口更新文件属性
await graphClient.Me.Drive.Items["{item-id}"]
    .Request()
    .PatchAsync(updateItem);

方式二:上传新文件时直接设置描述

如果是创建新文件(而非覆盖已有文件),你可以在上传时就指定描述,一步到位:

GraphServiceClient graphClient = new GraphServiceClient(authProvider);
var stream = new MemoryStream(Encoding.UTF8.GetBytes("The contents of the file goes here."));

// 构造包含描述的DriveItem对象
var newDriveItem = new DriveItem
{
    Name = "my-new-file.txt",
    Description = "这是我刚上传的项目配置文件,用于测试环境部署"
};

// 上传文件并同时设置描述
await graphClient.Me.Drive.Root.ItemWithPath("my-new-file.txt")
    .Request()
    .PutAsync(stream, newDriveItem);

小提示

  • 记得替换代码中的{item-id}为你实际的文件ID,创建新文件时用ItemWithPath指定目标路径即可
  • description字段支持普通文本,长度限制在1024字符以内
  • 调用PatchAsync时只需要传入要更新的字段,不需要传整个DriveItem对象,这样请求更高效

内容的提问来源于stack exchange,提问作者Ask Too Much

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:43:11