1

到目前为止,我已经成功地将 Dropbox API 与我的项目集成。为此,我一直在使用 Dropbox SDK 中提供的示例程序。从我可以轻松下载(随机图片)和上传文件的方式。我的问题是,我们如何从他们的保管箱帐户一次下载一个文件夹或多个文件?. 此外,当我单击下载按钮时,它会随机选择一个图像文件然后显示,而不是这样做,我想下载所有图像文件或特定文件夹。任何建议或帮助将不胜感激。

提前致谢。

4

3 回答 3

1

嗨,请通过以下代码,这可能对您有帮助。

private boolean downloadDropboxFile(String dbPath, File localFile) throws IOException{

    BufferedInputStream br = null;
    BufferedOutputStream bw = null;

    try {
        if (!localFile.exists()) {
            localFile.createNewFile(); //otherwise dropbox client will fail silently
        }

        FileDownload fd = api.getFileStream("dropbox", dbPath, null);
        br = new BufferedInputStream(fd.is);
        bw = new BufferedOutputStream(new FileOutputStream(localFile));

        byte[] buffer = new byte[4096];
        int read;
        while (true) {
        read = br.read(buffer);
        if (read <= 0) {
        break;
        }
        bw.write(buffer, 0, read);
        }
    } finally {
        //in finally block:
        if (bw != null) {
            bw.close();
        }
        if (br != null) {
            br.close();
        }
    }

    return true;
}

有关更多信息,请查看source.

于 2013-08-19T11:57:06.297 回答
1

如果您需要从下拉框中获取所有文件和文件夹,则只需将此代码复制并粘贴到您的项目中即可查看结果。这会对你有很大帮助。

    String mPath="/";  //You can change the path here to specific FOLDER
Entry dirent = null;
 try 
   {
      dirent = mApi.metadata(mPath, 1000, null, true, null);            
    } 
 catch (DropboxException e)
   {
     System.out.println("Error Detail "+e.getMessage());
   }

//执行循环并从PATH中检索所有文件和文件夹

     for (Entry ent: dirent.contents)
     {
       String name = ent.fileName();                           
       System.out.println("My File in Folder "+name);                        
      }  
于 2014-04-13T14:27:57.480 回答
0

Sync API 通过在您打开文件时按需下载文件来工作。因此,只需打开您要阅读的所有文件。

于 2013-08-19T11:53:17.493 回答