9

我在正文部分的文档中看到现在支持文件上传 - 或者至少我这样理解

我在后端开发方面没有扎实的基础——尤其是涉及到仍然像 Vapor 一样快速发展的框架时。我想知道是否有人可以提供一些文件上传的真实例子?我希望有一个简单的网页,可以将文件上传到后端,然后存储以备将来使用。

4

1 回答 1

19

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

HTTP 文件上传是如何工作的?

还有这里:

enctype='multipart/form-data' 是什么意思?

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

<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"]

    ...
}

就如何存储图像而言,这取决于您。您可以存储在数据库中,也可以在系统上创建一个您具有写入权限的文件夹。

于 2016-08-17T15:47:46.680 回答