Dropbox API 2 - UploadAsync返回无效路径错误

时间:2017-10-17 18:24:31

标签: c# .net api dropbox

下午所有, 我是新手,试图与第三方API集成,结果变得单调乏味。我先解释一下我的目标: 创建一个文件(.txt文件),并将其上传到单个保管箱帐户,供用户稍后检索。 在进入上传过程之前,该文件全部设置为内存流。然后我尝试使用这个简单的代码(用于测试目的)上传到我的帐户,我有密钥。以下是一般用法:

public async Task<string> ReturnNewUploader(FileDetailObject fdo) {
var dbx = new DropboxClient("MY KEY");
fdo.DropboxClient = dbx;
var action = await fileUploader.UploadFileAsync(fdo);
...}

public async Task<string> UploadFileAsync(FileDetailObject fdo) {
var dropbox = await fdo.DropboxClient.Users.GetCurrentAccountAsync();
var req = await fdo.DropboxClient.Files.UploadAsync("TestFolder/test.txt"   WriteMode.Overwrite.Instance, body: fdo.MemStream); 

以上是抛出异常的地方: 值应匹配模式'\ A(?:( /(。| [\ r \ n]))|(ns:[0-9] +(/。)?)|(id: 。*))\ Z” 参数名称:路径 ParamName:路径

StackTrace:at Dropbox.Api.Files.CommitInfo..ctor(String path,WriteMode mode,Boolean autorename,Nullable 1 clientModified, Boolean mute) at Dropbox.Api.Files.Routes.FilesUserRoutes.UploadAsync(String path, WriteMode mode, Boolean autorename, Nullable 1 clientModified,Boolean mute,Stream body)    at appname.BusinessLogic.FTPer.d__3.MoveNext()in C:......... \ appname \ appname.BusinessLogic \ FTPer.cs:第78行

我不明白路径有什么问题 - 它似乎与他们所期待的相符。该目录存在于该帐户中。我已经尝试过它而不使用文件夹,只是传递一个文件名,我得到了同样的错误。

思考?此外,如果这可以更干净地实施,我绝对愿意接受建议。只知道这确实无法使用登录提示,并且必须写出我们控制的单个Dropbox帐户。

1 个答案:

答案 0 :(得分:1)

非根文件路径应以'/'开头,而不是:

"TestFolder/test.txt"

你应该有类似的东西:

"/TestFolder/test.txt"