This commit is contained in:
parent
4bd6ebb5ea
commit
eca05cf6c0
|
@ -129,7 +129,6 @@ pub async fn proxy_handler(
|
|||
|
||||
Err(ErrorInternalServerError("invalid file key"))
|
||||
}
|
||||
|
||||
async fn thumbdata_save(
|
||||
original_data: Vec<u8>,
|
||||
state: &AppState,
|
||||
|
@ -138,23 +137,44 @@ async fn thumbdata_save(
|
|||
) {
|
||||
let state = state.clone();
|
||||
if content_type.starts_with("image") {
|
||||
let (filename, _, ext) = parse_image_request(&original_filename).unwrap();
|
||||
let img = image::load_from_memory(&original_data).unwrap();
|
||||
let filename = original_filename.to_string();
|
||||
let ext = match filename.split('.').last() {
|
||||
Some(ext) => ext.to_string(),
|
||||
None => "".to_string(),
|
||||
};
|
||||
|
||||
warn!("file extension: {}", ext);
|
||||
|
||||
let img = match image::load_from_memory(&original_data) {
|
||||
Ok(img) => img,
|
||||
Err(e) => {
|
||||
warn!("cannot load image from memory: {}", e);
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
actix::spawn(async move {
|
||||
if let Ok(thumbnails_bytes) = generate_thumbnails(&img).await {
|
||||
for (thumb_width, thumbnail) in thumbnails_bytes {
|
||||
let thumb_filename = format!("{}_{}.{}", filename, thumb_width, ext);
|
||||
// Загружаем миниатюру в S3
|
||||
let _ = upload_to_s3(
|
||||
&state.storj_client,
|
||||
&state.bucket,
|
||||
&thumb_filename,
|
||||
thumbnail,
|
||||
&content_type,
|
||||
).await;
|
||||
warn!("thumb {} uploaded to storj", thumb_filename);
|
||||
match generate_thumbnails(&img).await {
|
||||
Ok(thumbnails_bytes) => {
|
||||
for (thumb_width, thumbnail) in thumbnails_bytes {
|
||||
let thumb_filename = format!("{}_{}.{}", filename, thumb_width, ext);
|
||||
// Загружаем миниатюру в S3
|
||||
if let Err(e) = upload_to_s3(
|
||||
&state.storj_client,
|
||||
&state.bucket,
|
||||
&thumb_filename,
|
||||
thumbnail,
|
||||
&content_type,
|
||||
)
|
||||
.await
|
||||
{
|
||||
warn!("cannot load thumb {}: {}", thumb_filename, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
warn!("cannot generate thumbnails for {}: {}", filename, e);
|
||||
}
|
||||
warn!("[ok] all thumbnails uploaded to storj for {}", filename);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user