我正在与 Rust 和 Rocket 合作。我有一个端点可以一次上传一个文件form-data:
use rocket::form::{Form, FromForm};\nuse rocket::fs::TempFile;\nuse std::ffi::OsStr;\nuse std::path::{Path};\nuse uuid::Uuid;\n\n#[post("/file_upload", format = "multipart/form-data", data = "<form>")]\npub async fn file_upload(mut form: Form<Upload<\'_>>) -> std::io::Result<String> {\n // Get raw file \n let file_name = form.file.raw_name().unwrap().dangerous_unsafe_unsanitized_raw().as_str();name\n // Get extension of file name\n let extension = Path::new(file_name).extension().and_then(OsStr::to_str).unwrap(); \n // Generate new UUID\n let id: String = Uuid::new_v4().to_string(); \n // Build path to save file\n let file_path = String::from("media/temp_files") + "/" + &id + "." + extension; \n\n // Save …Run Code Online (Sandbox Code Playgroud)