Rust 如何在火箭应答器中转发来自reqwest::blocking::Body的数据?

Rust 如何在火箭应答器中转发来自reqwest::blocking::Body的数据?,rust,rust-rocket,Rust,Rust Rocket,我可以使用reqwest请求一个PNG文件,我可以通过copy()将其保存到文件中 我想把这张照片作为火箭的回应转发出去。我不知道如何在那里传递回复内容 我尝试使用Content(ContentType::PNG,response),但我不知道如何匹配已实现rocket::response::Responder特征的类型。Rocket无法使用response.Bytes()返回的Bytes类型 #![功能(过程宏、数据宏)] 外部板条箱; #[宏_使用] 外部板条箱火箭; 无论如何使用::Res

我可以使用reqwest请求一个PNG文件,我可以通过
copy()
将其保存到文件中

我想把这张照片作为火箭的回应转发出去。我不知道如何在那里传递回复内容

我尝试使用
Content(ContentType::PNG,response)
,但我不知道如何匹配已实现
rocket::response::Responder
特征的类型。Rocket无法使用
response.Bytes()
返回的
Bytes
类型

#![功能(过程宏、数据宏)]
外部板条箱;
#[宏_使用]
外部板条箱火箭;
无论如何使用::Result;
使用reqwest::header::USER\u代理;
使用reqwest::响应;
使用rocket::http::ContentType;
使用rocket::response::content::content;
#[获取(“/”)]
fn myroute()->结果{
让client=reqwest::blocking::client::new();
让response=client.get(“https://www.rust-lang.org/static/images/rust-logo-blk.svg")
.header(用户\代理,“rust reqwest”)
.send()?;
Ok(内容(ContentType::PNG,response.bytes())
}
fn rocket()->rocket::rocket{
火箭:点火
.mount(“/”,routes![myroute])
}
fn main(){
火箭发射;
}

您的问题可能由的答案来回答。很难回答您的问题,因为它不包含一个。我们无法判断代码中存在哪些板条箱(及其版本)等。如果您试图重现您的错误(如果可能的话),或者在全新的货运项目中,那么我们将更容易帮助您,然后您的问题将包括附加信息。您可以使用以下方法减少在此处发布的原始代码。谢谢谢谢你的反馈,我已经更新了代码。但并没有找到一种将货物与游乐场一起使用的方法。那些使用hyper,但我使用reqwest。这里的问题是,我无法在reqwest和rocket之间传递body,同时避免对其进行修改,而不将其保存到文件中。我只能使用此API,但我想最简单的方法是迁移到Hyper。您的问题可能会由的答案来回答。很难回答您的问题,因为它不包括。我们无法判断代码中存在哪些板条箱(及其版本)等。如果您试图重现您的错误(如果可能的话),或者在全新的货运项目中,那么我们将更容易帮助您,然后您的问题将包括附加信息。您可以使用以下方法减少在此处发布的原始代码。谢谢谢谢你的反馈,我已经更新了代码。但并没有找到一种将货物与游乐场一起使用的方法。那些使用hyper,但我使用reqwest。这里的问题是,我无法在reqwest和rocket之间传递body,同时避免对其进行修改,而不将其保存到文件中。我只能使用这个API,尽管我想最简单的方法是迁移到Hyper。
[dependencies]
anyhow = "1.0"
rocket = "0.4.2"
reqwest = { version = "0.10.4", features = ["blocking", "json"] }