Rust Reqwest multipart上传文件示例

该文提供了使用Rust的Reqwest库进行multipart文件上传的客户端代码示例,包括异步(async)和阻塞(blocking)两种方式。依赖项包括anyhow、reqwest、tokio和tokio-util。服务端示例使用了Spring框架处理文件上传请求。代码示例详细展示了如何构造multipart表单数据并发送POST请求。

Rust Reqwest multipart上传文件示例

客户端示例代码

示例包含了asyncblocking两种,根据自身需要合理修改依赖项

依赖项 Cargo.toml

[package]
edition = "2021"
name = "file-upload-client"
version = "0.1.0"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
anyhow = { version = "*" }
reqwest = { version = "*", features = ["stream", "multipart", "blocking"] }
tokio = { version = "*", features = ["macros", "rt-multi-thread"] }
tokio-util = { version = "*", features = ["codec"] }

示例代码 main.rs

use anyhow::{
   
   Ok, Result};
use reqwest::{
   
   
    multipart::{
   
   self, Part},
    Body,
};
use tokio_util::codec::{
   
   BytesCodec, FramedRead};

#[tokio::main]
async fn main() {
   
   
    let filename = upload().await.unwrap();
    println!("{}", filename)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值