2015-11-26 143 views
0

我試圖使用onedrive SDK上傳內容與this鏈接上傳上onedrive文件夾/文件。如何使用onedrive SDK的Windows 10 UWP

編輯:

  • 我有寫權限的文件到onedrive。
  • 我可以登錄並查看onedrive的文件夾。
  • 此外,應用程序與商店相關聯。

代碼:

using (contentStream) 
{ 
    var uploadedItem = await oneDriveClient 
           .Drive 
           .Root 
           .ItemWithPath("path/to/file.txt") 
           .Content 
           .Request() 
           .PutAsync<Item>(contentStream); 
} 

究竟是路徑/到/ file.txt的,什麼是contentStream?有人可以給我一個清晰的例子,因爲我得到一個'Microsoft.OneDrive.Sdk.OneDriveException'。

+0

沒有試過這個,但似乎* path/to/file.txt *代表OneDrive上新文件的目的地,contentStream是將被上傳到文件的數據流。你得到什麼樣的例外?您是否使用上傳功能登錄,是否檢查過是否存在合適的文件夾? OneDrive API具有相當不錯的文檔,您還可以查看源代碼。 – Romasz

+0

@Romasz我編輯了這個問題。我只需要弄清楚如何從根目錄獲取路徑/ to/file.txt? – AbsoluteSith

回答

2

一個你可能想看看文件的部分的是因爲這將讓你在你的UWP應用程序中使用OneDrive SDK開始認證過程。

要打破這是怎麼回事在他們已經張貼你的示例代碼中,contentStream是你想要以流的形式上傳文件。如果您使用StorageFile對象上載到OneDrive,則需要調用存儲文件上的OpenStreamForReadAsync方法以獲取樣本中存在的contentStream。

的「路徑/到/ file.txt的」部分中,您希望將文件存儲在OneDrive根文件夾內。所以,如果您在此處添加一個文件夾結構,你就會把它放在那裏,例如,如果您要上傳image.jpg的,你可能有以下/AppId/Images/image.jpg

+0

您能準確地說出/ AppId /這裏的含義以及如何訪問它。因爲使用CurrentApp.AppId會給我一個系統異常。還有,如何上傳文件夾? – AbsoluteSith

+0

@AbsoluteSith,這就是您要將文件放入OneDrive的路徑。因此,AppId將是名爲AppId的OneDrive文件結構根目錄上的文件夾的名稱。 –

+0

要上傳文件的文件夾,您可能需要一次循環上傳每個文件的文件。 –

相關問題