Découpage

This commit is contained in:
2024-03-05 07:38:58 +01:00
parent 1a84d2a3d8
commit 781df31fc2

View File

@@ -3,7 +3,7 @@ use curl::easy::Easy;
use sha2::{Sha256, Digest}; use sha2::{Sha256, Digest};
use std::fs::File; use std::fs::File;
fn main() { fn download_image() -> Vec<u8> {
// Buffer pour recevoir l'image // Buffer pour recevoir l'image
let mut buf = Vec::new(); let mut buf = Vec::new();
@@ -14,17 +14,22 @@ fn main() {
// URL à manipuler // URL à manipuler
handle.url("https://thispersondoesnotexist.com/").unwrap(); handle.url("https://thispersondoesnotexist.com/").unwrap();
{ {
// Callback pour traiter les données reçues
let mut transfer = handle.transfer(); let mut transfer = handle.transfer();
// Callback pour traiter les données reçues
transfer.write_function(|new_data| { transfer.write_function(|new_data| {
buf.extend_from_slice(new_data); buf.extend_from_slice(&new_data);
Ok(new_data.len()) Ok(new_data.len())
}).unwrap(); }).unwrap();
// Effectue l'appel // Effectue l'appel
transfer.perform().unwrap(); transfer.perform().unwrap();
} }
buf
}
fn main() {
let buf = download_image();
// Sauve le buffer dans un fichier dont le nom est le hash du buffer // Sauve le buffer dans un fichier dont le nom est le hash du buffer
let hasher = Sha256::new_with_prefix(buf.as_slice()); let hasher = Sha256::new_with_prefix(buf.as_slice());
let hash_bytes = hasher.finalize(); let hash_bytes = hasher.finalize();