Dropbox Chunked上传返回404

时间:2014-07-23 16:00:26

标签: c# http dropbox dropbox-api

我在通过HTTP(s)将分块上传提交到Dropbox时遇到问题。 上传似乎工作正常,但在提交时我收到404错误。 URI如下:

https://api-content.dropbox.com/1/commit_chunked_upload/auto/37Lc6FpJvLwe120D.dat

我的应用程序已沙箱到其自己的文件夹,以便我从Dropbox请求最少的权限。因此,我尝试将所有内容更改为auto /以包含文件的完整路径(Apps / MyApp / Filename.dat)以及(sandbox / Filename.dat),但我的所有操作都返回404响应。

有什么建议吗?

  • 编辑 -

upload参数位于POST正文中。代码如下:

public void commitChunkedUpload(string filename, string uploadID)
    {
        Uri uri = new Uri(new Uri(oauthUploadURI), String.Format("commit_chunked_upload/auto/sandbox/{0}", filename));

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
        request.Headers.Add("Authorization", "Bearer " + authResponse["access_token"]);
        request.Method = "POST";

        byte[] parameters = Encoding.UTF8.GetBytes(String.Format("overwrite={0}&upload_id={1}", "false", uploadID));

        request.ContentLength = parameters.Length;
        Stream outputStream = request.GetRequestStream();
        outputStream.Write(parameters, 0, parameters.Length);

        var response = request.GetResponse();
        var reader = new StreamReader(response.GetResponseStream());
        var jsonReader = JsonReaderWriterFactory.CreateJsonReader(response.GetResponseStream(), new System.Xml.XmlDictionaryReaderQuotas());

        var root = XElement.Load(jsonReader);
    }

我确信问题只是文件名/路径如何附加到URI上,但我不知道它应该是什么。

1 个答案:

答案 0 :(得分:0)

原来问题是我没有设置POST数据的内容类型。 404并不是指终点,而是它无法找到上传ID。

加入:

request.ContentType = "application/x-www-form-urlencoded";

对问题进行排序。