Add ThumbnailResponse struct with content_type and extension helper
This commit is contained in:
@@ -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(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user