Dropbox 文件上传不显示 409 错误

Dropbox file uploading not showing 409 error

我正在使用 Dropbox 核心上传文件 API。我把上传代码写成了-

RequestResult strReq = OAuthUtility.Put
                            (
                            "https://api-content.dropbox.com/1/files_put/auto/",
                            new HttpParameterCollection
                        {
                            {"access_token", "Token"},
                            {"path","/file.txt"},
                            {"overwrite", "false"}, 
                            {"autorename","false"}, 
                            {stream}
                        }
                            );

假设根文件夹中有一个名为 file.txt 的现有文件,我再次尝试将同名文件上传到相同的 folder.I 已写入 overwrite= false 和 autorename=false 但令人惊讶的是 response.Always 中没有错误状态代码返回 response.I 中返回成功代码 200 需要显示正确的错误代码。

有两点很突出:

  1. 你的 URL 是 https://api-content.dropbox.com/1/files_put/auto/,但它应该是(对于这个例子)https://api-content.dropbox.com/1/files_put/auto/file.txt。应从 HttpParameterCollection.
  2. 中删除 path 参数
  3. 我不熟悉您使用的库,但您确定这些参数已转换为查询参数并且 stream 已成为 HTTP 正文吗? IE。结果 URL 应该是 https://api-content.dropbox.com/1/files_put/auto/file.txt?overwrite=false&autorename=false&access_token=<TOKEN>,然后文件内容应该放在请求的正文中。请确保这是正在发生的事情。

也请分享返回 200 响应的正文。例如,它应该告诉您已写入文件的路径。

请注意,如果您将完全相同的文件内容上传到同一路径,则不会算作冲突,因此在查找 409 时,请确保您将不同的内容上传到该文件。