防止通过图形 API 覆盖上传文件Microsoft



我通过 Microsoft Graph API dot.net sdk 使用以下代码

using (Stream fileStream = file.InputStream)
            {
                DriveItem uploadedFile = await graphClient
                    .Drives[DRIVE_ID]
                     .Root.ItemWithPath($"{root}{relative}{file.FileName}")
                        .Content.Request()
                        .PutAsync<DriveItem>(fileStream);

            }

将简单文件上传到 OneDrive。如果文件已存在,是否可以阻止文件上传?

更新

Microsoft图文档已在此处更新了其中的一个片段:

请求正文

https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/item_createuploadsession

不需要请求正文。但是,您可以指定请求正文以提供有关正在上传的文件的其他数据。例如,若要控制已使用文件名的行为,可以在请求正文中指定冲突行为属性。

{
    "item": {
        "@microsoft.graph.conflictBehavior": "rename"
    }
}

不幸的是没有。为了防止文件覆盖(这也创建一个新版本(,您必须首先检查带有路径的文件是否已存在。您可以通过列出父文件夹内容并按文件名检查以编程方式执行此操作。

尝试使用 @microsoft.graph.conflictBehavior。更多在这里: https://dev.onedrive.com/items/upload_put.htm

最新更新