fix download img blocking error
This commit is contained in:
+14
-12
@@ -5,19 +5,21 @@ use base64::{Engine, engine::general_purpose};
|
||||
use image::{DynamicImage, ImageReader};
|
||||
|
||||
pub fn load_image_from_url(url: &str) -> Result<DynamicImage> {
|
||||
let response = reqwest::blocking::get(url)
|
||||
.map_err(|e| anyhow!(format!("Failed to fetch image from url: {}", e)))?;
|
||||
let bytes = response
|
||||
.bytes()
|
||||
.map_err(|e| anyhow!(format!("Failed to get image bytes: {}", e)))?;
|
||||
tokio::task::block_in_place(|| {
|
||||
let response = reqwest::blocking::get(url)
|
||||
.map_err(|e| anyhow!(format!("Failed to fetch image from url: {}", e)))?;
|
||||
let bytes = response
|
||||
.bytes()
|
||||
.map_err(|e| anyhow!(format!("Failed to get image bytes: {}", e)))?;
|
||||
|
||||
let cursor = Cursor::new(bytes);
|
||||
let img = ImageReader::new(cursor)
|
||||
.with_guessed_format()
|
||||
.map_err(|e| anyhow!(format!("Failed to read image format: {}", e)))?
|
||||
.decode()
|
||||
.map_err(|e| anyhow!(format!("Failed to decode image: {}", e)))?;
|
||||
Ok(img)
|
||||
let cursor = Cursor::new(bytes);
|
||||
let img = ImageReader::new(cursor)
|
||||
.with_guessed_format()
|
||||
.map_err(|e| anyhow!(format!("Failed to read image format: {}", e)))?
|
||||
.decode()
|
||||
.map_err(|e| anyhow!(format!("Failed to decode image: {}", e)))?;
|
||||
Ok(img)
|
||||
})
|
||||
}
|
||||
|
||||
pub fn load_image_from_base64(base64_data: &str) -> Result<DynamicImage> {
|
||||
|
||||
Reference in New Issue
Block a user