使用 Vapor 上传文件

Uploading files using Vapor

我在 Body section 的文档中看到现在支持文件上传 - 或者至少我是这样理解的

我在后端开发方面没有很强的 基础 - 特别是当涉及到仍然像 Vapor 一样发展如此之快的框架时。 我想知道是否有人可以提供一些真实的文件上传示例?我希望有一个简单的网页,可以将文件上传到后端,然后存储它以备将来使用。

Vapor 允许使用多部分编码上传文件。您可以在此处阅读有关 HTTP 上传的更多信息:

还有这里:

What does enctype='multipart/form-data' mean?

因此 HTML 将文件上传到 Vapor 的代码如下所示:

<form action="upload" method="POST" enctype="multipart/form-data">
    <input type="text" name="name">
    <input type="file" name="image">
    <input type="submit" value="Submit">
</form>

然后是Vapor中的代码

drop.get("form") { req in
    return try drop.view("form.html")
}

drop.post("upload") { req in
    let name = req.data["name"]
    let image = req.data["image"] // or req.multipart["image"]

    ...
}

至于如何存储图像,那是你的事。您可以存储在数据库中或在您具有写入权限的系统上创建文件夹。