【问题标题】:Uploading files on Dropbox using C# in ASP.NET在 ASP.NET 中使用 C# 在 Dropbox 上上传文件
【发布时间】:2016-10-07 15:29:15
【问题描述】:
 RequestResult strReq = OAuthUtility.Put(
                    "https://content.dropboxapi.com/1/files_put/auto/",
                     new HttpParameterCollection {
                        {"access_token",MYAccessToken},
                        {"path",Path.Combine(this.CurrentPath, Path.GetFileName(@"C:\test\jj.kk\Downloads\1990480.jpg")).Replace("\\","/")},
                        {"overwrite","true"},
                        {"autorename","true"}
                   }
                 );

我正在使用上述代码在 Dropbox 上上传文件,但出现以下错误:

远程服务器返回错误:(400) Bad Request。

RequestResult : { "error": "Content-Type (application/x-www-form-urlencoded) 可能不是 (\'application/x-www-form-urlencoded\', \'multipart/form -数据\')" }

Httpheader: {传输编码:分块 连接:保持活动 X-Dropbox-Request-Id: 4029d2ae041cf1f25d8f58d06d158b83 X-Robots-标签:noindex、nofollow、noimageindex 内容类型:应用程序/json 日期:格林威治标准时间 2016 年 10 月 7 日星期五 15:24:17 服务器:nginx }

在 ASP.NET 中有没有其他方法可以在 Dropbox 上上传文件?

【问题讨论】:

    标签: oauth-2.0 dropbox-api


    【解决方案1】:

    您收到的错误消息表明您的 API 请求存在问题,即 Content-Type 具有意外值。也就是说,您(大概是通过您正在使用的库)正在发送application/x-www-form-urlencoded。这不是 Dropbox API /1/files_put endpoint 允许的格式,它需要请求正文中的原始文件数据。

    不过,要回答您的实际问题,还有另一种在 ASP.NET 中上传到 Dropbox 的方法。您可以使用 Dropbox API v2,而不是这里的 Dropbox API v1。 (事实上​​你应该,因为Dropbox API v1 is deprecated。)

    为此,我们强烈建议使用官方 SDK:

    https://www.dropbox.com/developers/documentation/dotnet

    或者,您可以直接使用 HTTP 端点,例如:

    https://www.dropbox.com/developers/documentation/http/documentation#files-upload

    【讨论】:

    • {"远程服务器返回错误:(400) Bad Request."}]
    • {调用 API 函数“files/get_metadata”时出错:请求正文:无法将输入解码为 JSON}
    • RequestResult strReq = OAuthUtility.Post("api.dropboxapi.com/2/files/get_metadata", new HttpParameterCollection { {"path",this.CurrentPath} }, 授权: "Bearer JeLfJM8bGRAAAAAAAAAAHe3oxMxsHdk7cs3xl1TCY_ljB5eh56YIS3d6Ni7iIPo0", headers: null, type /json");
    • 作为参考,这里作为一个新问题发布:stackoverflow.com/questions/39998627/…
    • 是的,这个问题是我发布的,仍然无法找到解决方案:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多