使用 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"]
...
}
至于如何存储图像,那是你的事。您可以存储在数据库中或在您具有写入权限的系统上创建文件夹。
我在 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"]
...
}
至于如何存储图像,那是你的事。您可以存储在数据库中或在您具有写入权限的系统上创建文件夹。