2017-10-17 163 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