【问题标题】:Prevent overwrite of Upload File via Microsoft Graph API防止通过 Microsoft Graph API 覆盖上传文件
【发布时间】:2017-05-16 21:31:21
【问题描述】:

我正在通过 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 文档已在此处更新为一个 sn-p:

请求正文

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

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

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

【问题讨论】:

    标签: microsoft-graph-api office365api


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复,这有点令人失望,也许将来会发生一些事情。
    【解决方案2】:

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

    【讨论】:

    • 感谢 lolet,直接查看 onedrive api 的好建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 2015-08-26
    • 2014-05-26
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    相关资源
    最近更新 更多