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)错误请求。
RequestResult:{"错误":"内容类型(application / x-www-form-urlencoded)可能不是(\' application / x-www- form-urlencoded \',\' multipart / form-data \')" }
Httpheader: {Transfer-Encoding:chunked 连接:保持活力 X-Dropbox-Request-Id:4029d2ae041cf1f25d8f58d06d158b83 X-Robots-Tag:noindex,nofollow,noimageindex Content-Type:application / json 日期:2016年10月7日星期五15:24:17 GMT 服务器:nginx }
还有其他方法可以在ASP.NET上的Dropbox上传文件吗?
答案 0 :(得分:0)
您收到的错误消息表明您的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