]> OzVa Git service - ozva-cloud/commitdiff
fix: auto delete half-uploaded files (#280)
authorsigoden <sigoden@gmail.com>
Fri, 3 Nov 2023 12:58:53 +0000 (20:58 +0800)
committerGitHub <noreply@github.com>
Fri, 3 Nov 2023 12:58:53 +0000 (20:58 +0800)
src/server.rs

index 0cd0989154a7c1b4aa052a4f6af9c2035fa9e8a9..85cbce15d4fec219b013c6c3cf093a0efababc78 100644 (file)
@@ -427,7 +427,12 @@ impl Server {
 
         futures::pin_mut!(body_reader);
 
-        io::copy(&mut body_reader, &mut file).await?;
+        let ret = io::copy(&mut body_reader, &mut file).await;
+        if ret.is_err() {
+            tokio::fs::remove_file(&path).await?;
+
+            ret?;
+        }
 
         *res.status_mut() = StatusCode::CREATED;
         Ok(())