【发布时间】:2017-10-18 01:04:51
【问题描述】:
我需要一些关于在 Vapor 中保存字节的帮助: 我有这个图像类:
class Image: Model {
var id: Node?
var datas: Bytes
var name: String
var exists: Bool = false
init(name: String, datas: Bytes) {
self.name = name
self.datas = datas
}
// NodeInitializable
required init(node: Node, in context: Context) throws {
self.id = try node.extract("id")
self.datas = try node.extract("datas")
self.name = try node.extract("name")
}
// NodeRepresentable
func makeNode(context: Context) throws -> Node {
return try Node(node: ["id": id,
"name": name,
"datas": datas.string()
])
}
// Preparation
static func prepare(_ database: Database) throws {
try database.create("images") { categories in
categories.id()
categories.string("name")
categories.data("datas")
}
}
static func revert(_ database: Database) throws {
try database.delete("images")
}
}
我正在向 Postman 发送带有此正文的 POST 请求:
{
"name": "politique.jpg",
"datas": [122, 122]
}
然后它在我的数据库中创建一个带有数据的新行。
但是当我在这张图片上尝试 GET 时,我在提取对象时遇到了这个错误:
无法初始化图像,跳过:unableToConvert(node: 可选(Node.Node.bytes([101, 110, 111, 61])),预期:“UInt8”)
我在这里做错了什么?谢谢大家。
【问题讨论】:
标签: swift postgresql byte vapor