我通过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 Graph Documentation已经在这里更新了它的一个片段:
请求正文
https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/item_createuploadsession
不需要请求正文。但是,您可以指定请求正文以提供有关正在上载的文件的其他数据。 例如,要控制已经采用文件名的行为,可以在请求正文中指定冲突行为属性。
{
"item": {
"@microsoft.graph.conflictBehavior": "rename"
}
}
答案 0 :(得分:4)
不幸的是没有。为了防止文件覆盖(也创建新版本),您必须首先检查具有路径的文件是否已存在。您可以通过列出父文件夹内容和按文件名检查来以编程方式执行此操作。
答案 1 :(得分:2)
尝试使用@ microsoft.graph.conflictBehavior。更多信息:https://dev.onedrive.com/items/upload_put.htm