如何通过 curl 使用 actix-from-data 的映射数组发出 POST 请求?
How to make POST request by curl with an array of a map for actix-from-data?
我正在尝试通过带有地图数组的 curl 发送 POST 请求。应该怎么写?
我写了:
curl -X POST -H "Content-Type: multipart/form-data" -F files[]="name=\"qqq\"" localhost:8080/upload
但它 returns 一个 Found field with unexpected name or type
错误。
顺便问一下,在每张地图中有两个字段的未注释笔划会怎样?文件名和文件数据 ?
fn main() -> Result<(), failure::Error> {
let form = Form::new()
.field("files", Field::array(
Field::map()
.field("name", Field::text())
// .field("file", Field::file(Gen))
.finalize()
));
println!("{:?}", form);
HttpServer::new(move || {
App::new()
.service(resource("/upload")
.data(form.clone())
.route(post()
.to(upload_multipart)
)
)
})
.bind("127.0.0.1:8080")?
.run()?;
Ok(())
}
curl -i -X POST -F files[][name]="qqq" localhost:8080/upload
正确的命令
我正在尝试通过带有地图数组的 curl 发送 POST 请求。应该怎么写?
我写了:
curl -X POST -H "Content-Type: multipart/form-data" -F files[]="name=\"qqq\"" localhost:8080/upload
但它 returns 一个 Found field with unexpected name or type
错误。
顺便问一下,在每张地图中有两个字段的未注释笔划会怎样?文件名和文件数据 ?
fn main() -> Result<(), failure::Error> {
let form = Form::new()
.field("files", Field::array(
Field::map()
.field("name", Field::text())
// .field("file", Field::file(Gen))
.finalize()
));
println!("{:?}", form);
HttpServer::new(move || {
App::new()
.service(resource("/upload")
.data(form.clone())
.route(post()
.to(upload_multipart)
)
)
})
.bind("127.0.0.1:8080")?
.run()?;
Ok(())
}
curl -i -X POST -F files[][name]="qqq" localhost:8080/upload
正确的命令