使用Vapor上传文件

coj*_*joj 9 vapor

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

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

tan*_*101 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>
Run Code Online (Sandbox Code Playgroud)

然后是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"]

    ...
}
Run Code Online (Sandbox Code Playgroud)

在如何存储图像方面,这取决于您.您可以存储在数据库中,也可以在您具有写入权限的系统上创建文件夹.