下午所有, 我是新手,试图与第三方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帐户。
答案 0 :(得分:1)
非根文件路径应以'/'
开头,而不是:
"TestFolder/test.txt"
你应该有类似的东西:
"/TestFolder/test.txt"