Add ThumbnailResponse struct with content_type and extension helper

This commit is contained in:
Joakim Hulthe
2026-04-06 08:20:13 +00:00
parent 15d67f5667
commit 037f9a5782
2 changed files with 81 additions and 12 deletions

View File

@@ -14,37 +14,58 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Download thumbnail (small size, default)
println!("Downloading thumbnail...");
let thumbnail = client
let response = client
.assets()
.thumbnail(asset_id)
.size(AssetMediaSize::Thumbnail)
.execute()
.await?;
fs::write("/path/to/output/thumbnail.jpg", &thumbnail)?;
println!("Saved thumbnail: {} bytes", thumbnail.len());
println!("Content type: {}", response.content_type());
println!("Extension: {:?}", response.extension());
let ext = response.extension().unwrap_or("jpg");
let output_path = format!("/path/to/output/thumbnail.{}", ext);
fs::write(&output_path, response.data())?;
println!(
"Saved thumbnail: {} bytes to {}",
response.data().len(),
output_path
);
// Download preview (medium size)
let preview = client
let response = client
.assets()
.thumbnail(asset_id)
.size(AssetMediaSize::Preview)
.execute()
.await?;
fs::write("/path/to/output/preview.jpg", &preview)?;
println!("Saved preview: {} bytes", preview.len());
let ext = response.extension().unwrap_or("jpg");
let output_path = format!("/path/to/output/preview.{}", ext);
fs::write(&output_path, response.data())?;
println!(
"Saved preview: {} bytes to {}",
response.data().len(),
output_path
);
// Download fullsize
let fullsize = client
let response = client
.assets()
.thumbnail(asset_id)
.size(AssetMediaSize::Fullsize)
.execute()
.await?;
fs::write("/path/to/output/fullsize.jpg", &fullsize)?;
println!("Saved fullsize: {} bytes", fullsize.len());
let ext = response.extension().unwrap_or("jpg");
let output_path = format!("/path/to/output/fullsize.{}", ext);
fs::write(&output_path, response.data())?;
println!(
"Saved fullsize: {} bytes to {}",
response.data().len(),
output_path
);
Ok(())
}