2015-11-26 117 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

要上传文件的文件夹,您可能需要一次循环上传每个文件的文件。 –

相关问题