Vapor 3: загрузить и декодировать изображение в виде двоичного файла - PullRequest
2 голосов
/ 30 января 2020

Я пытаюсь загрузить изображение (.jpg) на сервер Vapor в виде двоичного файла (без многочастной формы). В настоящее время у меня есть следующий маршрут:

router.put("images") { (req) -> Future<HTTPStatus> in
    // Don't do anything with the decoded file for now...
    return try req.content.decode(File.self).transform(to: .ok)
}

Проблема заключается в том, что при загрузке изображения JPG с Insomnia (/ Почтальон) возникает следующая ошибка:

[ ERROR ] Abort.httpDecoder: Unsupported Media Type (ContentCoders.swift:60)
[ DEBUG ] Suggested fixes for Abort.httpDecoder: Register an `HTTPMessageDecoder` using `ContentConfig`. Use one of the decoding methods that accepts a custom decoder. (ErrorMiddleware.swift:26)

В Бессоннице (/ Почтальон ) ...

... HTTP-тело настроено как двоичный файл (без мультиформной обработки!)

... Content-Type установлено в image / jpeg

В configure.swift Я попытался зарегистрировать HTTPMessageDecoder, как сообщалось в сообщении об ошибке, но я точно не знаю, как это сделать:

var contentConfig = ContentConfig()
contentConfig.use(dataDecoder: <#T##DataDecoder#>, for: .jpeg)
services.register(contentConfig)
...