pub struct FileHandler { /* private fields */ }
Expand description
Handler for file operations
Provides methods for downloading, uploading, updating, and deleting files.
Implementations§
Source§impl FileHandler
impl FileHandler
Sourcepub fn new(client: FilesClient) -> Self
pub fn new(client: FilesClient) -> Self
Sourcepub async fn download_file(&self, path: &str) -> Result<FileEntity>
pub async fn download_file(&self, path: &str) -> Result<FileEntity>
Download a file or get file information
§Arguments
path
- File path to download
§Returns
Returns a FileEntity
containing file information including a
download_uri
for the actual file download.
§Examples
use files_sdk::{FilesClient, FileHandler};
let client = FilesClient::builder()
.api_key("your-api-key")
.build()?;
let handler = FileHandler::new(client);
let file = handler.download_file("/path/to/file.txt").await?;
if let Some(uri) = file.download_uri {
println!("Download from: {}", uri);
}
Sourcepub async fn get_metadata(&self, path: &str) -> Result<FileEntity>
pub async fn get_metadata(&self, path: &str) -> Result<FileEntity>
Get file metadata only (no download URL, no logging)
This is a convenience method that calls FileActionHandler::get_metadata()
§Arguments
path
- File path
Sourcepub async fn upload_file(&self, path: &str, data: &[u8]) -> Result<FileEntity>
pub async fn upload_file(&self, path: &str, data: &[u8]) -> Result<FileEntity>
Upload a file (complete two-stage upload process)
This method handles the complete upload process:
- Calls begin_upload to get upload URLs
- Uploads the file data
- Finalizes the upload
§Arguments
path
- Destination path for the filedata
- File contents as bytes
§Examples
let handler = FileHandler::new(client);
let data = b"Hello, Files.com!";
let file = handler.upload_file("/uploads/test.txt", data).await?;
println!("Uploaded: {:?}", file.path);
Sourcepub async fn update_file(
&self,
path: &str,
custom_metadata: Option<HashMap<String, String>>,
provided_mtime: Option<String>,
priority_color: Option<String>,
) -> Result<FileEntity>
pub async fn update_file( &self, path: &str, custom_metadata: Option<HashMap<String, String>>, provided_mtime: Option<String>, priority_color: Option<String>, ) -> Result<FileEntity>
Update file metadata
§Arguments
path
- File pathcustom_metadata
- Custom metadata key-value pairs (optional)provided_mtime
- Custom modification time (optional)priority_color
- Priority color (optional)
§Examples
let handler = FileHandler::new(client);
let mut metadata = HashMap::new();
metadata.insert("category".to_string(), "reports".to_string());
handler.update_file("/path/to/file.txt", Some(metadata), None, None).await?;
Trait Implementations§
Source§impl Clone for FileHandler
impl Clone for FileHandler
Source§fn clone(&self) -> FileHandler
fn clone(&self) -> FileHandler
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for FileHandler
impl !RefUnwindSafe for FileHandler
impl Send for FileHandler
impl Sync for FileHandler
impl Unpin for FileHandler
impl !UnwindSafe for FileHandler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more