如何将 Multipart::from_request 与 tiny_http::Request 一起使用?
How do I use Multipart::from_request with a tiny_http::Request?
我正在尝试使用 multipart
箱子中的 tiny_http
集成:
extern crate multipart;
extern crate tiny_http;
use multipart::server::tiny_http as tiny_http_trait;
use multipart::server::Multipart;
use tiny_http::*;
fn main() {
let server = Server::http("0.0.0.0:8080").unwrap();
loop {
match server.recv() {
Ok(request) => {
let mult = Multipart::from_request(request).unwrap();
}
Err(s) => eprintln!("{:#?}", s),
};
}
}
我在尝试从请求中提取多部分表单数据时遇到以下错误:
error[E0277]: the trait bound `tiny_http::Request: multipart::server::HttpRequest` is not satisfied
--> src/main.rs:13:28
|
13 | let mult = Multipart::from_request(request).unwrap();
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `multipart::server::HttpRequest` is not implemented for `tiny_http::Request`
|
= help: the following implementations were found:
<&'r mut tiny_http::Request as multipart::server::HttpRequest>
= note: required by `multipart::server::Multipart::<()>::from_request`
该特征实现确实存在,我可以直接将其与 HttpRequest
函数一起使用:
let boundary = <&mut Request as HttpRequest>::multipart_boundary(&&mut request);
我似乎无法使用相同的语法将 tiny_http::Request
用作 multipart::server::Multipart::from_request(...)
中的 multipart::server::HttpRequest
这是我的 Cargo.toml
:
[package]
name = "db_interface"
version = "0.1.0"
authors = [""]
edition = "2018"
[dependencies]
tiny_http = "0.6.2"
[dependencies.multipart]
version = "0.16.1"
features = ["tiny_http"]
正如编译器告诉您的那样,您需要一个可变引用:
<&'r mut tiny_http::Request as multipart::server::HttpRequest>
将请求声明为可变的,然后引用它:
match server.recv() {
Ok(mut request) => {
let mult = Multipart::from_request(&mut request).unwrap();
}
Err(s) => eprintln!("{:#?}", s),
};
我正在尝试使用 multipart
箱子中的 tiny_http
集成:
extern crate multipart;
extern crate tiny_http;
use multipart::server::tiny_http as tiny_http_trait;
use multipart::server::Multipart;
use tiny_http::*;
fn main() {
let server = Server::http("0.0.0.0:8080").unwrap();
loop {
match server.recv() {
Ok(request) => {
let mult = Multipart::from_request(request).unwrap();
}
Err(s) => eprintln!("{:#?}", s),
};
}
}
我在尝试从请求中提取多部分表单数据时遇到以下错误:
error[E0277]: the trait bound `tiny_http::Request: multipart::server::HttpRequest` is not satisfied
--> src/main.rs:13:28
|
13 | let mult = Multipart::from_request(request).unwrap();
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `multipart::server::HttpRequest` is not implemented for `tiny_http::Request`
|
= help: the following implementations were found:
<&'r mut tiny_http::Request as multipart::server::HttpRequest>
= note: required by `multipart::server::Multipart::<()>::from_request`
该特征实现确实存在,我可以直接将其与 HttpRequest
函数一起使用:
let boundary = <&mut Request as HttpRequest>::multipart_boundary(&&mut request);
我似乎无法使用相同的语法将 tiny_http::Request
用作 multipart::server::Multipart::from_request(...)
multipart::server::HttpRequest
这是我的 Cargo.toml
:
[package]
name = "db_interface"
version = "0.1.0"
authors = [""]
edition = "2018"
[dependencies]
tiny_http = "0.6.2"
[dependencies.multipart]
version = "0.16.1"
features = ["tiny_http"]
正如编译器告诉您的那样,您需要一个可变引用:
<&'r mut tiny_http::Request as multipart::server::HttpRequest>
将请求声明为可变的,然后引用它:
match server.recv() {
Ok(mut request) => {
let mult = Multipart::from_request(&mut request).unwrap();
}
Err(s) => eprintln!("{:#?}", s),
};