(vec: Vec<u8>, size: u32)
| 85 | |
| 86 | #[cfg(not(test))] |
| 87 | fn get_thumbnail(vec: Vec<u8>, size: u32) -> Result<Vec<u8>, String> { |
| 88 | use std::io::Cursor; |
| 89 | |
| 90 | use thumbnailer::{create_thumbnails, ThumbnailSize}; |
| 91 | |
| 92 | let reader = Cursor::new(vec); |
| 93 | let mime = mime::IMAGE_PNG; |
| 94 | let sizes = [ThumbnailSize::Custom((size, size))]; |
| 95 | |
| 96 | let thumbnail = match create_thumbnails(reader, mime, sizes) { |
| 97 | Ok(mut thumbnails) => thumbnails.pop().ok_or("No thumbnail created")?, |
| 98 | Err(thumb_error) => return Err(thumb_error.to_string()), |
| 99 | }; |
| 100 | |
| 101 | let mut buf = Cursor::new(Vec::new()); |
| 102 | |
| 103 | match thumbnail.write_png(&mut buf) { |
| 104 | Ok(_) => Ok(buf.into_inner()), |
| 105 | Err(_) => Err("Unknown error when Thumbnail::write_png".to_string()), |
| 106 | } |
| 107 | } |
| 108 | |
| 109 | #[tokio::main] |
| 110 | async fn main() -> Result<(), Error> { |
no test coverage detected