Pertanyaan unduh file dari DropBox ke Mesin lokal


Saya ingin mengunduh file dari akun dropbox saya menggunakan java DropBox API. Saya telah mencoba menggunakan kode ini tetapi ini menampilkan daftar file dan folder ketika saya ingin mengunduh file ke sistem saya bagaimana mungkin

Ini kode saya: -

Scanner tokenScanner = new Scanner(tokensFile);       
       String ACCESS_TOKEN_KEY = tokenScanner.nextLine();    // Read key
       String ACCESS_TOKEN_SECRET = tokenScanner.nextLine(); // Read secret
       tokenScanner.close(); //Close Scanner
       //Re-auth
       AccessTokenPair reAuthTokens = new AccessTokenPair(ACCESS_TOKEN_KEY,ACCESS_TOKEN_SECRET);
       mDBApi.getSession().setAccessTokenPair(reAuthTokens);
       Entry entries = mDBApi.metadata("/", 20, null, true, null);
       for (Entry e: entries.contents) {
        if(!e.isDeleted){
         if(e.isDir){
          System.out.println("Folder ---> " + e.fileName() );
         } else {
          //  this will download the root level files.
          System.out.println("File ---->" + e.fileName());
          DropboxInputStream inputStream = mDBApi.getFileStream(e.path,null);
          OutputStream out=new FileOutputStream(e.fileName());
          byte buf[]=new byte[1024];
          int len;
          while((len=inputStream.read(buf))>0)
           out.write(buf,0,len);
               out.close();
               inputStream.close();
               System.out.println("File is created....");

4
2018-04-03 11:58


asal


Jawaban:


Ini adalah contoh dasar untuk mengunduh file yang berfungsi dengan dropbox. itu tidak termasuk kemajuan pengunduhan file, ini hanya untuk download file langsung ke depan.

Contoh ini menggunakan penggunaan dropbox API v2 DbxClientV2

        try
            {
                //output file for download --> storage location on local system to download file
                OutputStream downloadFile = new FileOutputStream("C:\\.....");
                try
                {
                FileMetadata metadata = client.files().downloadBuilder("/root or foldername here/Koala.jpg")
                        .download(downloadFile);
                }
                finally
                {
                    downloadFile.close();
                }
            }
            //exception handled
            catch (DbxException e)
            {
                //error downloading file
                JOptionPane.showMessageDialog(null, "Unable to download file to local system\n Error: " + e);
            }
            catch (IOException e)
            {
                //error downloading file
                JOptionPane.showMessageDialog(null, "Unable to download file to local system\n Error: " + e);
            }

Semoga ini membantu dan menggunakan contoh ini dan mengeditnya agar berfungsi seperti yang Anda inginkan.


5
2017-07-29 14:11