2017-10-17 73 views
0

全部下午, 我是新尝试与第三方API集成,它变得乏味。首先让我解释一下我的目标: 创建一个文件(一个.txt文件),然后将其上传到一个Dropbox帐户供用户稍后检索。 在进入上传过程之前,文件全部设置为内存流。然后我尝试使用这个简单的代码(用于测试目的)上传到我的帐户,我有密钥。下面是使用的一般SNIPPIT:Dropbox API 2 - UploadAsync返回无效路径错误

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:路径

堆栈跟踪:在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 \ FT Per.cs:line 78

我不明白路径有什么问题 - 它看起来与他们期望的相符。目录中存在该目录。我已经尝试过,而不使用文件夹,只是传递一个文件名,我得到相同的错误。

想法?另外,如果这可以更干净地实施,我绝对愿意接受建议。只要知道这真的不能使用登录提示,并且必须写出我们控制的一个Dropbox帐户。

回答

1

非根文件路径应以'/'开始,所以不是:

"TestFolder/test.txt"

你应该是这样的:

"/TestFolder/test.txt"

+0

由于格雷格 - 我其实只是在做这并发现解决了这个问题。谢谢! – lrossignol