我正在尝试使用 POST 请求reqwest
。我需要在我的请求中发送附件。我正在寻找相当于
curl -F attachment=@file.txt
在旧版本中(见这里)它很简单
let file = fs::File::open("much_beauty.png")?;
let client = reqwest::Client::new();
let res = client.post("http://httpbin.org/post")
.headers(construct_headers())
.body(file)
.send()?;
但是对于较新的版本(请参见此处),该功能似乎已被删除。我得到错误:
21 | .body(file)
| ^^^^ the trait `From<File>` is not implemented for `Body`
|
= help: the following implementations were found:
<Body as From<&'static [u8]>>
<Body as From<&'static str>>
<Body as From<Response>>
<Body as From<String>>
and 2 others
= note: required because of the requirements on the impl of `Into<Body>` for `File`
尽管官方文件声称
基本的方法是使用
body()
a 的方法RequestBuilder
。这使您可以设置正文应该是什么的确切原始字节。它接受各种类型,包括String
、Vec<u8>
和File
。