问题标签 [rust-actix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
533 浏览

rust - 如何使用 actix_web::guard::Header?

为了支持application/jsonmultipart/form-data在同一个 URL 上,我想检查“Content-Type”标头并选择一个合适的Data<T>类型来提交.dataApp::new.

如果我取消注释该.guard行,则将curl -X POST -H "Content-Type: multipart/form-data" -F files=\"qqq\" localhost:8080/upload被删除。但如果没有这.guard条线,一切都会按预期进行。怎么了?

如何在一个 App 实例中正确加入它们?

0 投票
1 回答
239 浏览

rust - 如何通过 curl 使用 actix-from-data 的映射数组发出 POST 请求?

我正在尝试通过 curl 发送带有地图数组的 POST 请求。应该怎么写?

我写:

curl -X POST -H "Content-Type: multipart/form-data" -F files[]="name=\"qqq\"" localhost:8080/upload

但它返回一个Found field with unexpected name or type错误。

顺便说一句,如果未注释的笔画在每张地图中有两个字段,情况会怎样?对于文件名和文件数据?

0 投票
2 回答
1036 浏览

rust - 使用 actix-web 从 HTML 页面捕获 GET 和 POST 请求

为了在 FORM 中捕获请求的详细信息(我使用的是 actix-web),我在提交 HTML 表单时收到一条错误消息。

当我提交表格时,我收到此错误:

Content type error

使用的代码:

使用的 HTML 表单:

预期结果将是:

要显示的值的示例

0 投票
2 回答
976 浏览

rust - 如何使用actix在函数内部使用数据库池?

我为 MySQL 数据库创建了一个池,如下所示:

像这样包含在actix中:

问题来了,如何在这个 info 函数中使用它:

直接将 MySQL 连接的一个实例传递给 get_infos 运行良好,但使用池我不知道如何处理它?!请问有什么帮助吗?

为了更清楚地说明,我的目标是使用 POOLING 而不是只使用一个实例,就像这段代码中的情况一样:

我在前面的代码中启动了 POOL to actix: .data(pool.clone()) // <-- HERE

但是如何将它作为参数传递给get_infos函数。

再次感谢您的帮助。

0 投票
0 回答
637 浏览

rust - 如何处理来自 actix-multipart 数据的文件而不将其保存到磁盘

actix-web处理文件的建议方法multipart/form-data是将它们保存到 fs,但我想做一些准备,例如猜测格式、制作缩略图、计算哈希等。

有没有办法不重写handle_multipartfrom调用的所有函数链actix-multipart以进行一些小的更改?

0 投票
2 回答
1521 浏览

docker - docker 中的 Rust actix_web 无法实现,为什么?

我正在尝试为我的 rust 程序制作一个 docker 容器,让我们看看

Dockerfile

cmd运行:docker run -it -p 8080:8080 rust_rest_api/dev

但是从外部卷曲curl -i -X POST -F files[]=@img.png 127.0.0.1:8080/uploadcurl: (56) Recv failure: Соединение разорвано другой сторонойie 被渠道的另一边拒绝

但在容器内:

但是在没有 docker 的情况下运行程序可以正常工作并充分处理来自 curl 的相同请求。

在容器内:

外面的问题是什么?

0 投票
1 回答
1292 浏览

mongodb - 如何在 rust 中将 MongoDB 与 r2d2 和 actix 一起使用

我正在尝试使用rust语言制作一个基本的 Web 应用程序,使用actix框架和r2d2以及mongodb作为数据库。我找不到任何关于如何存档的完整且有效的文档。也许有人可以在这里帮助我。

问题是,我似乎无法从 r2d2 连接池获得 mongodb 连接。遗憾的是,我找到的任何文档都没有涵盖这部分。

我发现的一些链接:


这部分创建连接池并将其交给actix。

这是试图访问连接池的处理函数


这是显示我的问题的错误。conn 变量似乎不是一个合适的 mongodb 连接。

0 投票
1 回答
621 浏览

rust-actix - create_app 的正确返回类型

我正在使用 actix-web 创建一个嵌入了状态/数据的 httpserver。但是 vscode 告诉我 create_app 函数在其返回值类型定义“App< AppState >”中有错误的参数:

发布结构应用

类型参数数量错误:预期 2,找到 1

预期 2 类型参数rustc(E0107)

应用程序.rs:

main.rs:

由于“服务”方法的返回类型是“Self”,即 actix_web::App 类型,我尝试将返回类型修改为 App(不带泛型参数)但仍然出现错误,我该怎么办?

0 投票
0 回答
331 浏览

javascript - 提供的 JavaScript 文件为空白

我正在设置一个 Actix 服务器,它将托管各种静态文件,其中 Web 应用程序的流量通过这台服务器运行。但是,当我尝试提供文件时,它将提供我的资产文件夹和我的 HTML 文件,而不是我的 JavaScript 文件。

我尝试使用 NamedFile 没有任何优势,我尝试使用“./index.js”、“index.js”,并将其移动到自己的 js 文件夹并尝试“js/index.js”。

main.rs

索引.html

项目结构

当我的服务器启动并进入页面时,index.js 文件为空,但 assets 文件夹中有页面中使用的图像,并且 index.html 页面正在显示。

0 投票
1 回答
676 浏览

rust - 将 actix-web 作为 Windows 服务运行时出现问题

我正在尝试使用windows-service来运行 actix Web 应用程序。它提供了一个很好的 API 并且大部分都可以工作。我可以开始我的服务就好了。但是,当我尝试停止我的服务时,我收到以下错误:(Error 109: The pipe has been ended它确实停止了服务)。

我主要只是使用为 提供的示例windows-service,但这里是相关代码(对于上下文和所有包装函数,请查看https://github.com/mullvad/windows-service-rs/blob/master/examples/ ping_service.rs):

如果我把System::stopa thread::spawn,我得到一个不同的错误:The service did not return an error. This could be an internal Windows error or an internal service error. 在这种情况下,它不会停止服务。

我已经进行了一些日志记录,看起来代码从未超过sys.run().unwrap(),这很奇怪。

有什么想法吗?我以前从未使用过 Windows 服务 API,所以我真的不知道自己在做什么。

编辑

我弄清楚主要问题是什么:我必须在停止服务之前通知 Windows 服务已停止。我整理了一个笨拙的方法来使它工作:

I 在事件处理程序中设置为 true 的shutdown_signal位置在哪里。AtomicBool我要看看我是否可以通过actix_rt.