小编Emi*_* C.的帖子

从表单数据中检索原始文件内容

我正在与 Rust 和 Rocket 合作。我有一个端点可以一次上传一个文件form-data

\n
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)

rust rust-rocket

5
推荐指数
1
解决办法
1071
查看次数

标签 统计

rust ×1

rust-rocket ×1