28 lines
632 B
Rust
28 lines
632 B
Rust
use std::io::Read;
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Debug, Clone, Deserialize, Serialize)]
|
|
pub struct CoverArt {
|
|
pub id: i32,
|
|
pub title: String,
|
|
pub path: String,
|
|
pub data: Vec<u8>,
|
|
}
|
|
|
|
impl CoverArt {
|
|
pub fn to_data(&self) -> Result<Vec<u8>, std::io::Error> {
|
|
let path: &String = &self.path;
|
|
let mut file = std::fs::File::open(path)?;
|
|
let mut buffer = Vec::new();
|
|
match file.read_to_end(&mut buffer) {
|
|
Ok(_) => {
|
|
return Ok(buffer);
|
|
}
|
|
Err(err) => {
|
|
return Err(err);
|
|
}
|
|
}
|
|
}
|
|
}
|