我试图发送一个文件到Discord webhook我已经阅读了Webhook Resource和上传文件,但我仍然无法让它工作。以下是基于API文档编写的内容:
use anyhow::Result;
use reqwest::multipart;
#[tokio::main]
async fn main() -> Result<()> {
let client = reqwest::Client::new();
let part = multipart::Part::bytes(image.as_slice())
.file_name("text.png")
.mime_str("image/png")?;
let form = multipart::Form::new()
.text("Content-Disposition", "form-data")
.part("files[0]", part);
let res = client
.post("https://discord.com/api/webhooks/6969696969/XD_XD_XD_XD_XD_XD_XD_XD")
.header("Content-Type", "multipart/form-data")
.query(&[("wait", "true")])
.multipart(form)
.send()
.await?;
println!("Response: {:#?}", res);
Ok(())
}
响应状态是400,我发现它意味着“Bad Request”。如何发送文件?
2条答案
按热度按时间ibps3vxo1#
我用一个叫宁静的板条箱就能做到
9lowa7mx2#
你不应该设置
.header("Content-Type", "multipart/form-data")
,因为.multipart()
函数为你做了,和.text("Content-Disposition", "form-data")
一样