Crates.io | rust-dropbox |
lib.rs | rust-dropbox |
version | 0.2.8 |
source | src |
created_at | 2021-03-11 14:06:07.536787 |
updated_at | 2021-05-19 12:00:17.768277 |
description | a convenient tool of dropbox-api binding, with non-blocking and blocking api |
homepage | |
repository | https://github.com/sinyo-matu/rust-dropbox |
max_upload_size | |
id | 367304 |
size | 32,366 |
A convenient tool binding to the Dropbox APIv2,
Now it can operate user_check
,upload(file size below 150 MB)
, move
and download
.
It will handle error messages from Dropbox api.
And there is a async api can be activate by feature non-blocking
.
For use, you need a Dropbox access token
cargo add rust-dropbox
use rust_dropbox::*
use std::env;
use std::{
fs::File,
io::Read,
};
let token = env::var("DROPBOX_TOKEN").unwrap();
let mut file = File::open("./profile.jpg").unwrap();
let mut buf: Vec<u8> = Vec::new();
file.read_to_end(&mut buf).unwrap();
let client = client::DBXClient::new(&token);
let option = UploadOptionBuilder::new().build();
let res = client.upload(buf, "/test/profile.jpg", option);
assert!(res.is_ok())
use rust_dropbox::*
use std::env;
let token = env::var("DROPBOX_TOKEN").unwrap();
let client = client::DBXClient::new(&token);
let option = MoveCopyOptionBuilder::new()
.allow_ownership_transfer()
.allow_shared_folder()
.allow_auto_rename()
.build();
let res = client.move_file("/test/profile.jpg", "/profile.jpg", option);
assert!(res.is_ok())
use rust_dropbox::*
use std::env;
use std::{
fs::File,
io::Write,
};
let token = env::var("DROPBOX_TOKEN").unwrap();
let client = client::DBXClient::new(&token);
let res = client.download("/profile.jpg");
let bytes = res.unwrap();
let mut file = File::create("new_profile.jpg").unwrap();
file.write_all(&bytes).unwrap();
rust-dropbox={version=*,default-features=false,features=["non-blocking"]}